Ik wil e.e.a uitlezen via snmp get, en dit schrijven naar een CSV file.
Ik gebruik hier o.a de library en snmp function voor die op deze site staan:
https://vwiki.co.uk/SNMP_and_PowerShell
Mijn script ziet er als volgt uit en heet snmp.ps1 ( die ik uiteraar dstart met ./snmp):
ip.txt staan gewoon ipadressen in, elke regel 1.
En dat geeft de volgende output in een CSV:
* De header met "OID en Data" is met geen mogelijkheid weg te krijgen. Ook als ik de 1e regel van de array oversla dan komt die header erbij in.
* Als ik alles wel op 1 regel krijg dan gaat het er als volgt uitzien (voorbeeld van de 1e 2 OIDs, de originele output ben ik al weer kwijt):
Na een dag googelen kom ik er nu echt niet meer uit, iemand die mij een zetje de juiste richting ingeven kan?
Ik gebruik hier o.a de library en snmp function voor die op deze site staan:
https://vwiki.co.uk/SNMP_and_PowerShell
Mijn script ziet er als volgt uit en heet snmp.ps1 ( die ik uiteraar dstart met ./snmp):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| $reportArray =@() #create an empty array for the report to CSV $oidArray = ".1.3.6.1.4.1.12148.9.2.1.3.2.0", "1.3.6.1.4.1.12148.9.2.1.3.3.0", "1.3.6.1.4.1.12148.9.2.1.3.4.0", "1.3.6.1.4.1.12148.9.2.1.3.7.0" #create the array with the OIDs I want to read foreach ($ip in get-content ip.txt) { #For each found ip doe the following $snmpResult= Invoke-SnmpGet "$ip" $oidArray # Save the current $result by appending it to $reportArray ( += means append a new element) $reportArray += $snmpResult } #Write the output to a CSV $reportArray | Export-csv results.csv -notypeinformation |
ip.txt staan gewoon ipadressen in, elke regel 1.
En dat geeft de volgende output in een CSV:
Ik wil echter dat de output als volgt word:OID Data
.1.3.6.1.4.1.12148.9.2.1.3.2.0 1
.1.3.6.1.4.1.12148.9.2.1.3.3.0 2
.1.3.6.1.4.1.12148.9.2.1.3.4.0 3
.1.3.6.1.4.1.12148.9.2.1.3.7.0 Serienummer 1
.1.3.6.1.4.1.12148.9.2.1.3.2.0 1
.1.3.6.1.4.1.12148.9.2.1.3.3.0 2
.1.3.6.1.4.1.12148.9.2.1.3.4.0 3
.1.3.6.1.4.1.12148.9.2.1.3.7.0 Serienummer 2
De volgende problemen krijg ik, met de 100 variaties die ik geprobeerd heb:1 2 3 Serienummer 1
1 2 3 Serienummer 2
* De header met "OID en Data" is met geen mogelijkheid weg te krijgen. Ook als ik de 1e regel van de array oversla dan komt die header erbij in.
* Als ik alles wel op 1 regel krijg dan gaat het er als volgt uitzien (voorbeeld van de 1e 2 OIDs, de originele output ben ik al weer kwijt):
* De array met meerdere regels met een join op 1 regel zetten geeft geen resultaat.@{OID=.1.3.6.1.4.1.12148.9.2.1.3.2.0; Data=1}@{OID=.1.3.6.1.4.1.12148.9.2.1.3.3.0; Data=2}
Na een dag googelen kom ik er nu echt niet meer uit, iemand die mij een zetje de juiste richting ingeven kan?
[ Voor 7% gewijzigd door Devian op 16-01-2017 15:35 ]
https://wren.co/join/Devian