SNMP Abfrage in Datei schreiben mit Powershell
Hallo liebe Community,
ich versuche gerade per SNMP den Tonerstand abzufragen:
hier wird mir folgendes ausgegeben:
Wie kann ich jetzt z.B. nur den Wert (hier 49) ausgeben und in eine Excel-Liste speichern?
Gruß
EDIT: Ich stelle gerade fest dass ich meinen Drucker lokal mit dem SNMP ansprechen und auslesen kann, jedoch keinen drucker der sich im VPN befindet. Weis hier jemand rat?
ich versuche gerade per SNMP den Tonerstand abzufragen:
Get-SnmpData -IP $druckerip -Community public -OID 1.3.6.1.2.1.43.11.1.1.9.1.1 | select Data
hier wird mir folgendes ausgegeben:
Data
----
49
Wie kann ich jetzt z.B. nur den Wert (hier 49) ausgeben und in eine Excel-Liste speichern?
Gruß
EDIT: Ich stelle gerade fest dass ich meinen Drucker lokal mit dem SNMP ansprechen und auslesen kann, jedoch keinen drucker der sich im VPN befindet. Weis hier jemand rat?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 597001
Url: https://administrator.de/contentid/597001
Ausgedruckt am: 04.11.2024 um 22:11 Uhr
15 Kommentare
Neuester Kommentar
Get-SnmpData -IP $druckerip -Community public -OID 1.3.6.1.2.1.43.11.1.1.9.1.1 | select -Expand Data
(Get-SnmpData -IP $druckerip -Community public -OID 1.3.6.1.2.1.43.11.1.1.9.1.1).Data
Get-SnmpData -IP $druckerip -Community public -OID 1.3.6.1.2.1.43.11.1.1.9.1.1 | export-csv .\datei.csv -Delimiter ";" -NoType
EDIT: ich stelle gerade fest dass ich mein Drucker lokal mit dem SNMP ansprechen und auslesen kann, jedoch keinen drucker der sich im VPN befindet. Weis hier jemand rat?
- Firewall des VPN GWs lässt keinen SNMP Traffic durch?
- Drucker lässt SNMP-Anfragen nur aus dem selben Subnet zu?
- Routing fehlerhaft?
- ...
Btw2: Der Titel hat irgendwie gar nichts mit der Frage zu tun?!
$printers = 'IP1','IP2','IP3'
$printers | %{
Get-SnmpData -IP $_ -Community public -OID 'OID1','OID2','OID3'
} | export-csv .\printerdata.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8
Entschuldigung. Ich habe mich hier wohl falsch formuliert
Dann bitte auch nachträglich noch anpassen.
Hab das hier jetzt hier nicht vorliegen aber das geht auch
$printers = 'IP1','IP2','IP3'
$OIDs = [ordered]@{
'1.3.6.1.2.1.43.11.1.1.9.1.1' = 'TONERLEVEL_BLACK'
'1.3.6.1.2.1.43.11.1.1.9.1.2' = 'TONERLEVEL_CYAN'
'1.3.6.1.2.1.43.11.1.1.9.1.3' = 'TONERLEVEL_MAGENTA'
'1.3.6.1.2.1.43.11.1.1.9.1.4' = 'TONERLEVEL_YELLOW'
}
$printers | %{
$obj = [ordered]@{Printer=$_}
Get-SnmpData -IP $_ -Community public -OID $OIDs.Keys | %{
$obj.($OIDs.($_.OID)) = $_.Data
}
[pscustomobject]$obj
} | export-csv .\printerdata.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8
Ich hoffe der Titel passt so nun besser.
Nö, passt überhaupt nich, du willst ja keine Datei auslesen sondern SNMP-Daten extrahieren und wegschreiben.
Stichwort [ordered] , siehe mein Skript oben.
Ich fühle mich beim Skripten ziemlich doof
https://www.heise.de/select/ct/2018/2/1515290980461241https://www.heise.de/select/ct/2018/6/1520810822097045
Hallo Zusammmen,
da der Threadersteller leider nicht mehr erreichbar ist, hänge ich mir hier mit ran. Hoffe das passt.
Das Skript vom ausgeschiedenen User (145033) läuft unter Win10 nicht. Daher habe ich versucht das von cosmo gepostete Skript bzgl. der Sortierung anzupassen. Leider bekomme ich es mit PowerShell nicht hin.
Wo bzw. wie müsste ich denn nun das [ordered] setzen, damit die Ausagabe in der csv der obigen Reihenfolge (IP > Schwarz > Rot > Blau > Gelb) entspricht?
Danke und Grüße
I.
EDIT_1: Habe hier nochmal einen separaten Beitrag erstellt, weil ich befürchte dass es hier untergeht.
EDIT_2: Problem konnte im neuen Beitrag (siehe EDIT_1) gelöst werden. Vielen Dank.
da der Threadersteller leider nicht mehr erreichbar ist, hänge ich mir hier mit ran. Hoffe das passt.
Das Skript vom ausgeschiedenen User (145033) läuft unter Win10 nicht. Daher habe ich versucht das von cosmo gepostete Skript bzgl. der Sortierung anzupassen. Leider bekomme ich es mit PowerShell nicht hin.
$csvlist =@()
$druckerip = @("IP1","IP2")
foreach ($IP in $druckerip) {
$newrow = New-Object PsObject -property @{
'IP' = $IP
'Schwarz' = $IP | %{Get-SnmpData -IP $_ -Community public -OID '1.3.6.1.2.1.43.11.1.1.9.1.1'} | select Data -Expand Data
'Rot' = $IP | %{Get-SnmpData -IP $_ -Community public -OID '1.3.6.1.2.1.43.11.1.1.9.1.2'} | select Data -Expand Data
'Blau' = $IP | %{Get-SnmpData -IP $_ -Community public -OID '1.3.6.1.2.1.43.11.1.1.9.1.3'} | select Data -Expand Data
'Gelb' = $IP | %{Get-SnmpData -IP $_ -Community public -OID '1.3.6.1.2.1.43.11.1.1.9.1.4'} | select Data -Expand Data
}
$csvlist += $newrow
}
$csvlist | Export-Csv .\toner_$(Get-Date -Format yyyy-MM-dd).csv -Delimiter ";" -NoTypeInformation -Encoding UTF8
Wo bzw. wie müsste ich denn nun das [ordered] setzen, damit die Ausagabe in der csv der obigen Reihenfolge (IP > Schwarz > Rot > Blau > Gelb) entspricht?
Danke und Grüße
I.
EDIT_1: Habe hier nochmal einen separaten Beitrag erstellt, weil ich befürchte dass es hier untergeht.
EDIT_2: Problem konnte im neuen Beitrag (siehe EDIT_1) gelöst werden. Vielen Dank.
Da muss dann wohl mal unser hiesiger Power Shell Guru @colinardo ran ! 😉
Du hast für dein hilfreiches Script die Code Tags leider falsch gesetzt !!
Ein "/" korrigiert das aber schnell !!
Formatierungen in den Beiträgen
Ein "/" korrigiert das aber schnell !!
Formatierungen in den Beiträgen