Jump to content
andrehamburg

Schleife für SNMP-Abfrage

Recommended Posts

Hi alle,

ich habe mehrere IP-Steckdosenleisten, deren Werte ich per SNMP einsammeln möchte. Ich möchte also per Batchfile die Werte in eine CSV schreiben lassen. Das funktioniert soweit auch, aber ich bekomme die Schleife nicht zum Laufen. Hier die Details zu den Dateien:

 Eine Datei namens liste.txt enthält die IP-Adressen der Steckdosenleisten. hier der Inhalt meiner Batchdatei:

for /f "tokens=1,* delims==" %%i in (liste.txt) do (
	for /f "tokens=*" %%a in ('snmpget -v1 -Ov -c public %%i system.sysName.0') do set SYSTEMNAME=%%a
	for /f "tokens=*" %%a in ('snmpget -v1 -Ov -c public %%i system.sysLocation.0') do set SYSLOCATION=%%a
	for /f "tokens=*" %%a in ('snmpget -v1 -Ov -c public %%i .1.3.6.1.4.1.2606.7.3.2.8.0') do set AUSLESEDATUM=%%a
	for /f "tokens=*" %%a in ('snmpget -v1 -Ov -c public %%i .1.3.6.1.4.1.2606.7.3.2.9.0') do set AUSLESEUHRZEIT=%%a
	for /f "tokens=*" %%a in ('snmpget -v1 -Ov -c public %%i .1.3.6.1.4.1.2606.7.4.2.2.1.10.1.20') do set ZAEHLERSTAND=%%a
	
		echo IP: %%i  	
		echo Systemname: %SYSTEMNAME%
		echo Location: %SYSLOCATION%
		echo Auslesedatum: %AUSLESEDATUM%
		echo Ausleseuhrzeit: %AUSLESEUHRZEIT%
		echo Stromverbrauch: %ZAEHLERSTAND%
   )

 

An sich funktioniert die Schleife, nur die SNMP-Werte werden nicht mehr in die Variablen geschrieben. Der einzelne Befehl zur SNMP-Abfrage ist auch ok. Woran kann das liegen?

 

Gruß André

 

Share this post


Link to post
Share on other sites

Dürfte es auch Powershell sein?

Get-Content -Path 'liste.txt' |
    ForEach-Object -Process {
        [PSCustomObject]@{
            SYSTEMNAME = & "snmpget -v1 -Ov -c public $_ system.sysName.0"
            SYSLOCATION = & "snmpget -v1 -Ov -c public $_ system.sysLocation.0"
            AUSLESEDATUM = & "snmpget -v1 -Ov -c public $_ .1.3.6.1.4.1.2606.7.3.2.8.0"
            AUSLESEUHRZEIT = & "snmpget -v1 -Ov -c public $_ .1.3.6.1.4.1.2606.7.3.2.9.0"
            ZAEHLERSTAND = & "snmpget -v1 -Ov -c public $_ .1.3.6.1.4.1.2606.7.4.2.2.1.10.1.20"
        }
    } | 
        Export-Csv -Path 'Output.csv' -Encoding UTF8 -Delimiter ';' -NoTypeInformation

Vielleicht müsstest Du noch an den SNMP-Kommandos feilen und vielleicht die Pfade bei den Dateinamen ergänzen, aber der Rest sollte laufen.  ;-)

Share this post


Link to post
Share on other sites

Hallo BOfH_666,

vielen Dank für deine Unterstützung. Mit PS habe ich noch nie gearbeitet. Ich weiß, wie man sie startet, aber der Versuch dein Skript zu starten, war erfolglos. :-(

Letzte Woche habe ich mich selber mal in der PS versucht, aber wenn ich die Fehlermeldungen richtig interpretiert habe, fehlt mit ein SNMP-Modul. Vielleicht sollte ich noch dazu sagen, dass ich keine Adminrechte habe. ich muss also mit dem arbeiten, was mir zur Verfügung gestellt wird. cmd und NetSNMP sind da zum Glück dabei. Viel mehr aber auch nicht.

Jemand der mir mit cmd helfen könnte mein Vorhaben zu realisieren scheint es dann wohl nicht zu geben?

Gruß André

Share this post


Link to post
Share on other sites
vor 3 Stunden schrieb andrehamburg:

... aber der Versuch dein Skript zu starten, war erfolglos. :-(  ....

hmmm ... wie äußert sich denn das? An fehlenden Rechten kann es eher nicht liegen. Was Du mit cmd/batch machen kannst, kannst Du auch Powershell machen. Und die Tools, die Du in cmd/batch ausrufen kannst, kannst Du auch in der Powershell aufrufen (snmpget z.B.) Und die Syntax von Powershell ist, jedenfalls denke ich das, deutlich intuitiver und weniger kryptisch als cmd/batch.

Share this post


Link to post
Share on other sites

Mag sein, dass PowerShell intuitiver ist, aber ich hatte bisher keinerlei Berührungspunkte und nicht wirklich die Zeit und auch keine Aufgabe, um mich damit zu befassen. In cmd komme ich einigermaßen zurecht, bin da aber auch eher Einsteiger als Fortgeschrittener.

Share this post


Link to post
Share on other sites

OK ... da muss ich dann leider passen, mit cmd/batch bin ich nie richtig warm geworden und werde auch jetzt nicht mehr damit anfangen. ;-)  Sorry.

Ich glaube aber trotzdem dass es sich unbedingt für Dich lohnen würde. Wenn Du nicht grad vor der Rente stehst und noch ne Weile in Windows-Umgebungen unterwegs sein willst, kommt man bei komplexeren Sachen an Powershell nicht mehr vorbei. Und falls Du's beruflich brauchst, hast Du bei der nächsten Gehaltsverhandlung noch ein Pfeil mehr im Köcher.  ;-):D

Und mit Powershell findet man nach meiner Erfahrung auch schneller Hilfe.

Share this post


Link to post
Share on other sites

Schade. Scheinbar bin ich der Einzige, der noch in der cmd rumhühnert. Im November habe ich einen Powershell-Einsteigerkurs bekommen. Mal sehen, was der bringt. Ich bin aber nur sporadisch so intensiv am skripten. Alle paar Monate bis Jahre gibt's mal was, was ich skripten kann. Daher werde ich sowas auch nie beherrschen, aber dank diverser Foren und Internetseiten finde ich immer ewas, was ich mir zurechtfriemeln kann.

Schauen wir mal.

Gruß André

Share this post


Link to post
Share on other sites

Powershell is halt die modernere und eben auch bessere Technologie. Es laufen ja auch nur noch relativ wenige Leute mit "dummen" Mobiltelefonen durch die Gegend. Selbst Leute, die's nciht brauchen, haben heute meistens ein Smartphone.  ;-)

Wenn Du am Wochenende mal ein bissl Langeweile hast (oder auch auf Arbeit ;-) ), kannst Du Dich kostenlos in der  Microsoft Virtual Academy mit Getting Started with Powershell ein bissl berieseln lassen. Das sollte Dir für die ersten Schritte schon das Rüstzeug verschaffen.

Edited by BOfH_666

Share this post


Link to post
Share on other sites

Langeweile? Was ist das? Dieses Wort existiert bei mir schon viele Jahre nicht mehr. Ich habe für mich auch beschlossen, dass das Sitzen am PC Zeitverschwendung ist. Ich bin lieber in der Realität unterwegs. Das gibt mir mehr. Zu Hause mache ich nur noch das Nötigste am PC. Bin vom Bastler zum reinen Anwender mutiert. Daher warte ich auch den Kurs im November ab. Der ist dienstlich veranlasst und findet während der Arbeitszeit statt. So lasse ich mir das gerne gefallen. :-)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Werbepartner:



×
×
  • Create New...