Jump to content

NetApp OID mit Powershell abfragen


Direkt zur Lösung Gelöst von ramsess,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Guten Morgen,

 

ich will die Dokumentation von vFilern der NetApp automatisieren. Die Anmeldung an dem Controller ist mit den cmd-templates von NetApp realisiert und für die Abfrage einer einzelnen OID wird Net-SNMP genutzt. Die Powershell Version ist 3.0.

 

Um nicht eine unübersichtliche Datei mit OIDs wie mit Invoke-NaSnmpWalk zu bekommen soll dieser Befehl

Invoke-NaSnmpGet -OID .1.3.6.1.4.1.789.1.5.4.1.2.x. | Export-Csv -NoTypeInformation -UseCulture -Path C:\Tmp\report\NAP01-vfiler.csv

benutzt werden (das x ist durch eine Zahl von 1 bis 200 zu ersetzen). Der Befehl einzeln ausgeführt funktioniert auch. Um alle erstellten vFiler in einer Datei zu speichern wollte ich das ganze in eine Schleife packen, die Ausgabe in ein Array ablegen und dann in eine csv Datei schreiben. Mein Überlegung sieht dazu so aus:

$i = 1.
$id = .1.3.6.1.4.1.789.1.5.4.1.2.
do {
$oid = "$id" + "$i"
$oidInvoke-NaSnmpGet -OID $oid | Export-Csv -NoTypeInformation -UseCulture -Path C:\Tmp\report\NAP01-vfiler.csv
$i++ 
}
while ($i -le 5)

Wenn ich mir die Variable $id jedoch ausgeben lasse werden mir die 5 Durchläufe als Zahl ausgegeben. Mein erstes Problem besteht also in der Zusammensetzung der Varialbe $oid. In einem anderem Script führe ich zwei Variablen genau so zusammen, was also mache ich falsch?

Mein zweites Problem ist, die Frage ob ich mit dem Befehl wirklich ein Array erzeuge das nachdem es gefüllt wurde in die Datei geschrieben wird.

 

In der Bord Suche konnte ich dazu leider nichts zu OIDs in zusammenhang mit do while Schleifen finden und auch Googel brachte keine verwetbaren Suchergebnise. Oder ich habe falsch gesucht - sollte man ja nicht ausschließen.

 

Vielleicht hat jemand eine Idee?

 

Gruß

ramsess

Link zu diesem Kommentar

Hi,

 

beim initialisieren von $i solltest du den Punkt weglassen und diesen erst beim zusammenbauen der $oid hinten anhängen.

$i = 1
$id = ".1.3.6.1.4.1.789.1.5.4.1.2."
$oid = "$id$i."
Export-CSV ... -Append

Den Export in die CSV solltest du einfach mit dem Schalter "-Append" machen. Damit wird die CSV nicht überschrieben, sondern alles neue wird angehangen.

 

Gruß

Jan

Link zu diesem Kommentar
  • Beste Lösung

Guten Morgen,

 

ok das hat prinzipell funktioniert. Jetzt muss ich nur noch eine Abbruch Bedingung einbauen falls die OID noch nicht vergeben ist.

Unter der Inovke Anweisung muss wohl noch sowas wie eine Errorlevel Abfrage für die Varialbe $oid damit man nicht solche wilde Fehlermeldungen ausgespuckt bekommt:

Invoke-NaSnmpGet : Invalid Object Identifier : .1.3.6.1.4.1.789.1.5.4.1.2.120.
At C:\tmp\netapp_volume_NAPP02.ps1:38 char:1
+ Invoke-NaSnmpGet -OID $oid |  Export-Csv -NoTypeInformation -UseCulture -Append  ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (IP:NaController) [Invoke-NaSnmpGet], EONTAPI_EINVAL
    + FullyQualifiedErrorId : ApiException,DataONTAP.PowerShell.SDK.Cmdlets.Snmp.InvokeNaSnmpGet

Eine Ausgabe der oid hinter dem Namen des vFilers für die bessere Orinierung innerhalb der Datei wäre auch nicht schlecht.

Sobald ich mir dazu was hab einfallen lassen würde ich das noch der Vollständigkeit halber posten. Die eigentliche Frage ist erstmal geklärt.

Danke Jan

 

Gruss

ramsess

 

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...