pixel0815
Goto Top

Per Skript lokal angeschlossene USB Drucker auslesen

Moin moin,

gibt es eine Möglichkeit lokal angeschlossene USB Drucker auszulesen?
Ein Tool, ein Skript? Also so viel wie möglich über das angeschlossene Gerät zu erfahren?

Gruß
Heiko

Content-Key: 316343

Url: https://administrator.de/contentid/316343

Printed on: April 26, 2024 at 11:04 o'clock

Member: SauBaer2014
SauBaer2014 Sep 27, 2016 at 14:16:32 (UTC)
Goto Top
...Hi !

warum möchtest du dAS usb-interface des Druckers auslesen, wenn in der Vendor ID und deren Device alles drinsteht was du wissen möchtest ?
Oder um welche Infos geht es Dir?

MFG
Member: pixel0815
pixel0815 Sep 27, 2016 at 14:29:57 (UTC)
Goto Top
Hallo, es geht um die Seriennummer.
Ich finde die Seriennummer über den Gerätemanager nicht.
Grade habe ich das Tool USBDevice von Nirsoft gefunden, da kann ich das per CMD exportieren und dann entsprechend schauen.
Wäre toll gewesen, wenn ich diese Info einfacher herausbekommen könnte.

Gruß
Pixel
Member: SauBaer2014
SauBaer2014 Sep 27, 2016 at 14:39:17 (UTC)
Goto Top
... das Ganze sollte aber auch über das Power Shell zu erfragen sein ....! Würde es mal installieren und dann den Commander "nutzen" .... als ein Tool !

MFG
Member: SauBaer2014
SauBaer2014 Sep 27, 2016 at 14:46:02 (UTC)
Goto Top
... mach dich mal kundig über den Befehl "wmic" . Damit konnte ich immer die SN von PC erfragen und verarbeiten!

MFG
Member: pixel0815
pixel0815 Sep 27, 2016 at 15:19:14 (UTC)
Goto Top
Keine PC Seriennummer, das ist mir bewusst.
Es geht um die Seriennummer die beim Connecten eines beliebigen USB device, in meinem Fall USB Drucker übertragen werden.
Member: colinardo
colinardo Sep 27, 2016 updated at 16:40:25 (UTC)
Goto Top
Hallo pixel0815,
diese Daten stehen in der Registry.

Probiers mal hiermit für USB-Drucker:
gci "HKLM:\SYSTEM\CurrentControlSet\Enum\USB" -Force -Recurse -EA SilentlyContinue | ?{$_.PsChildName -eq 'PRINT' -and (Get-Item $_.PSParentPath).PSChildName -eq 'Functions'} | %{  
    [pscustomobject]@{"Drucker" = $_.GetValue('Description');"Seriennummer" = (get-item (Get-Item $_.PSParentPath).PSParentPath).GetValue("SymbolicName").split("#")[2] }  
}
oder so
$printerclasses = '{48721b56-6795-11d2-b1a8-0080c72e74a2}','{49ce6ac8-6f86-11d2-b1e5-0080c72e74a2}','{4d36e979-e325-11ce-bfc1-08002be10318}','{4658ee7e-f050-11d1-b6bd-00c04fa372a7}'  
gci "HKLM:\SYSTEM\CurrentControlSet\Enum\USB" -Force -Recurse -EA SilentlyContinue | ?{(Get-ItemProperty -PSPath $_.PSPath -Name 'classGUID' -EA SilentlyContinue).classGUID -in $printerclasses} | %{  
    [pscustomobject]@{"Drucker" = $_.GetValue('DeviceDesc').split(';',2)[1];"Seriennummer" = $_.PSChildName}  
}
Nur mal kurz hier auf einem lokalen System angetestet

Grüße Uwe
Member: SauBaer2014
SauBaer2014 Sep 27, 2016 updated at 17:27:56 (UTC)
Goto Top
... ist mir klar, dass es nicht um die PC-SN geht. Da es aber als Option "Printer" und "Ports" etc. bei WMCI gibt, dachte ich ... man kann diese dort auslesen.

Wenn über das Tool " USBDeview" keine Seriennummer angezeigt wird, kannst du sie auch nicht vom USB-Interface des Printers auslesen.

Dann vielleicht wie colinardo geschrieben hat, über die Registry.

Solltest du eine Seriennummer sehen, dann kannst du mit dem gen. Tool alle Daten zum USB-Gerät (egal welches) in eine textbasierte Datei speichern und weiterverwenden.

Gruß