none
Abfrage nach tatsächlich lokal vorhandenen Druckern? Get-WmiObject Win32_Printer etc.

    Frage

  • Hallo,

    Ich hab mal wieder eine Frage und hoffe auf eine Idee von Euch. Ich versuche gerade eine Vielzahl von Rechnern nach ihrer angeschlossenen Hardware zu prüfen. Hierbei werden Abfragen wie Win32_USBControllerDevice und Win32_Printer genutzt.

    Aber wie kann ich tatsächlich feststellen, ob der vorhandene Drucker (win32_printer) tatsächlich am PC vorhanden ist.

    Das Problem ist, dass ich diverse Geräte finde, die entweder gar nicht mehr vorhanden sind, oder ausgeschaltet sind.

    Frage ich die PC über Win32_USBControllerDevice ab, finde ich natürlich alle aktive Hardware, aber da gehen mir die Drucker verloren, welche am Gerät ausgeschaltet vorhanden sind.

    Irgendwie müsste ich also einen Test der Drucker durchführen können. Gibt es eine solche Möglichkeit überhaupt, oder weiß jemand eine Lösung?

    MfG Pi

    Dienstag, 10. April 2018 07:22

Antworten

  • Sicher geht das. Nur anders. :) Da ich annehme, für rumlaufen und nachschauen ist euer Laden zu groß, hast du zwei Möglichkeiten: entweder du schreibst eine Rundmail an alle Abteilungsleiter, IT-Kontaktpersonen oder ähnliche, mit der Bitte die vorbereitete Excel-Tabelle im Anhang auszufüllen.

    Automatisiert (aber aufwändiger) sollte auch gehen:
    Das Anschalten eines lokal verbundenen Druckers löst auf dem jeweiligen PC mehrere PNP-Eventeinträge in Eventlog/Microsoft/Windows/Driverframeworks-Usermode aus (das Log muß möglichweise erst aktiviert werden).
    Du könntest also an eines dieser Events einen lokalen Task hängen, der beim Auftreten des Events ein Powershellscript startet und einen Eintrag mit Computername, Gerätename, Uhrzeit etc in ein zentrales Log im Netzwerk loggt.
    Wenn ein Drucker außerhalb der üblichen Urlaubszeiten mehrere Wochen nicht eingeschaltet wurde, kann man davon ausgehen das er nicht mehr existiert.

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Kostenloser Powershell Code Manager v5: Link
    (u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.


    Dienstag, 10. April 2018 15:47
    Moderator

Alle Antworten

  • Frage ich die PC über Win32_USBControllerDevice ab, finde ich natürlich alle aktive Hardware, aber da gehen mir die Drucker verloren, welche am Gerät ausgeschaltet vorhanden sind.

    Irgendwie müsste ich also einen Test der Drucker durchführen können. Gibt es eine solche Möglichkeit überhaupt, oder weiß jemand eine Lösung?

    Moin,

    also ein Test auf das Vorhandensein eines *ausgeschalteten* USB-Druckers wird schwierig ;-)


    Evgenij Smirnov

    I work @ msg services ag, Berlin -> http://www.msg-services.de
    I blog (in German) @ http://it-pro-berlin.de
    my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
    Exchange User Group, Berlin -> https://exusg.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com


    In theory, there is no difference between theory and practice. In practice, there is.

    Dienstag, 10. April 2018 07:45
  • Ja genau, das wird wohl schwierig bis scheinbar unmöglich. Ich gehe also davon aus, dass es keine Möglichkeit gibt, festzustellen, ob der Drucker am Gerät noch vorhanden ist??

    Gedankengänge waren, ob man in der Registry viell. (spätestens nach einem PC-Neustart) feststellen, könnte ob die Hardware (der Drucker) Enum Value oder sowas ist?

    mit dem Punkt ausgeschaltet kann ich ja leben. Dann weiß ich, das Gerät ist vorhanden. Nur wenn es tatsächlich nicht mehr angeschlossen ist, würde mich brennend interessieren. Deswegen die Frage in die Runde an Euch.

    Ich habe Google schon befragt wie verrückt, finde aber keinen Ansatz bzw. keine Lösung, ob das Vorhaben überhaupt umsetzbar ist.

    MfG Pi

    Dienstag, 10. April 2018 08:03
  • > mit dem Punkt ausgeschaltet kann ich ja leben. Dann weiß ich, das Gerät ist vorhanden. Nur wenn es tatsächlich nicht mehr angeschlossen ist, würde mich brennend interessieren. Deswegen die Frage in die Runde an Euch.

    Dir ist aber schon klar, daß aus Sicht des Computers für einen Drucker "ausgeschaltet" und "nicht angeschlossen" das gleiche ist?!?

    Dienstag, 10. April 2018 15:37
  • Sicher geht das. Nur anders. :) Da ich annehme, für rumlaufen und nachschauen ist euer Laden zu groß, hast du zwei Möglichkeiten: entweder du schreibst eine Rundmail an alle Abteilungsleiter, IT-Kontaktpersonen oder ähnliche, mit der Bitte die vorbereitete Excel-Tabelle im Anhang auszufüllen.

    Automatisiert (aber aufwändiger) sollte auch gehen:
    Das Anschalten eines lokal verbundenen Druckers löst auf dem jeweiligen PC mehrere PNP-Eventeinträge in Eventlog/Microsoft/Windows/Driverframeworks-Usermode aus (das Log muß möglichweise erst aktiviert werden).
    Du könntest also an eines dieser Events einen lokalen Task hängen, der beim Auftreten des Events ein Powershellscript startet und einen Eintrag mit Computername, Gerätename, Uhrzeit etc in ein zentrales Log im Netzwerk loggt.
    Wenn ein Drucker außerhalb der üblichen Urlaubszeiten mehrere Wochen nicht eingeschaltet wurde, kann man davon ausgehen das er nicht mehr existiert.

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Kostenloser Powershell Code Manager v5: Link
    (u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.


    Dienstag, 10. April 2018 15:47
    Moderator