ramsess 10 Geschrieben 6. September 2015 Melden Teilen Geschrieben 6. September 2015 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 Zitieren Link zu diesem Kommentar
testperson 1.677 Geschrieben 6. September 2015 Melden Teilen Geschrieben 6. September 2015 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 Zitieren Link zu diesem Kommentar
ramsess 10 Geschrieben 6. September 2015 Autor Melden Teilen Geschrieben 6. September 2015 Hi Jan, Danke für den Input - ich werde es morgen mal ausprobieren und berichte dann. Gruss ramsess Zitieren Link zu diesem Kommentar
Beste Lösung ramsess 10 Geschrieben 7. September 2015 Autor Beste Lösung Melden Teilen Geschrieben 7. September 2015 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 Zitieren Link zu diesem Kommentar
testperson 1.677 Geschrieben 7. September 2015 Melden Teilen Geschrieben 7. September 2015 (bearbeitet) Hi, du könntest die Fehlermeldung einfach "unschön" durch die "-ErrorAction SilentlyContinue" verschweigen ;) Alternativ die schöne Lösung: http://blogs.technet.com/b/heyscriptingguy/archive/2010/03/11/hey-scripting-guy-march-11-2010.aspx Gruß Jan bearbeitet 7. September 2015 von testperson Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.