bonbastler
Goto Top

Erweiterte Druckereinstellungen auslesen

Hallo Community,

die Frage ist: wie kann man bei einem Netzwerkdrucker dessen Gerätestatus / zusätzliche Gerätefunktionen automatisiert abfragen, z.B. per Powershell / Batch / WSH oder sonstwie?

Hintergrund: ich stehe (wie öfters) vor der Aufgabe mehrere Netzwerkdrucker einzurichten. Meist sind das Windows Server 2008R2 oder 2012 R2, Drucker sind z.B. Kyo oder Canon Drucker und MFG. Ich habe das schon größtenteils automatisiert (Netzwerk Druckeranschluss hinzufügen, Druckertreiber installieren, Drucker in System installieren, Drucker freigeben, Berechtigungen setzen, am Client installieren, dem Benutzer zuweisen usw.), prinzipiell kein Problem. Das sind aber oft (Multifunktions-) Geräte welche ausbaufähig sind (mehr Papierschächte als Zufuhr, Finisher etc. als Ausgabeoption, Locher, Hefter usw.). Bei den meisten Geräten gibt es dazu im Reiter Geräteeinstellungen eine Option zum Abfragen des Gerätestatus / der Geräteoptionen. Mit Klick darauf kann ich das jeweilige Gerät auf dessen zusätzliche Funktionen abfragen und erst danach stehen diese Optionen dem Benutzer überhaupt als Auswahl zur Verfügung. Wie kann man diese Abfrage automatisieren?

Danke im Voraus für zielführende Antworten

Content-Key: 347581

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

Printed on: April 24, 2024 at 23:04 o'clock

Mitglied: 133883
133883 Aug 29, 2017 at 09:17:24 (UTC)
Goto Top
SNMP ist dein Freund.

Gruß
Member: holli.zimmi
holli.zimmi Aug 29, 2017 at 10:19:47 (UTC)
Goto Top
Hi,

nimm doch auch "Autoit". Siehe URL.
https://www.autoitscript.com/forum/topic/28688-autoit-3-script-recorder/

Gruß

Holli
Member: bonbastler
bonbastler Aug 29, 2017 updated at 10:38:44 (UTC)
Goto Top
Danke erstmal, aber per SNMP kann ich wirklich nur die Features des Gerätes (und Status usw.) abfragen und nicht dem auf dem Server installierten Drucker als mögliche Funktion hinzufügen. Erst dann aber würden die den Benutzern als nutzbare Druckerfunktion zur Verfügung stehen.

Wenn dann müsste ich per SNMP die Funktionen und Ausbauoptionen abfragen und bei dem installierten Drucker in die Registry schreiben, nicht elegant.

Nutzt mir nur sehr eingeschränkt etwas.

Nachtrag: Die SNMP Abfrage (ein 'walk durch die MIB') würde mir dann etwas nutzen wenn ich vom Drucker abgefragten Fähigkeiten auch elegant dem installierten Drucker beibringen kann - ohne Registry Hack. So quasi als Powershell Funktion 'AddPrinterFeature' wenn es so etwas gäbe, oder per WMI ...
Member: bonbastler
bonbastler Aug 29, 2017 updated at 10:53:44 (UTC)
Goto Top
Mit AutoIt hatte ich auch schon geliebäugelt, wäre einer der allerletzten Wege um auf diese Weise eine Druckerinstallation zu komplettieren face-sad

Mit einem adm. Account an der GUI anmelden, warten bis alles geladen, Druckerdialog öffnen, warten bis geladen, alle Druckersymbole listen, bei jedem Druckersymbol die Eigenschaften anklicken lassen, auf den Dialog warten, den Reiter anklicken, warten bis Dialog geladen, Schaltfläche 'Erweiterte Eigenschaften' anklicken, warten bis Dialogänderung und alles zuklicken lassen - sehr unelegant face-sad
Member: holli.zimmi
holli.zimmi Aug 30, 2017 at 06:16:10 (UTC)
Goto Top
HI,

war ja auch nur ein Vorschlag. Beim Hersteller nachgefragt, ob es spezielle Admin-Tools gibt?
Um so die Installation zu vereinfachen!

Gruß

Holli
Mitglied: 133883
133883 Aug 30, 2017 updated at 08:01:59 (UTC)
Goto Top
Print-Queues der Drucker mir erweiterten Fähigkeiten auslesen:
Add-Type -AssemblyName System.Printing

# Konstanten
$adminServer = [System.Printing.PrintSystemDesiredAccess]::AdministrateServer
$adminPrinter = [System.Printing.PrintSystemDesiredAccess]::AdministratePrinter

# Printserver-Zugriff erhalten
$server = new-object System.Printing.LocalPrintServer $adminServer

# Print-Queue des gewünschten Druckers filtern
$queues = $server.GetPrintQueues()

foreach($q in $queues){
    # Administrativen ZUgriff auf den PrintQueue erhalten
    $objPrinter = new-object System.Printing.PrintQueue -argumentList $server,$q.Name,$adminPrinter
    $objPrinter
}
Member: JayDP87
JayDP87 Aug 30, 2017 at 11:15:59 (UTC)
Goto Top
Hallo,
bei Druckern von Kyocera ist es wichtig das du den aktuellsten KX Treiber nimmst. Der KX Treiber ist bei Kyocera der Treiber der alle Funktionen unterstützt und Automatisch erkennt.
Member: bonbastler
bonbastler Aug 31, 2017 at 12:22:14 (UTC)
Goto Top
Ich habe das testweise mal laufen lassen auf einem der Systeme wo zwei gleiche Drucker mit gleichen Druckertreiber usw. installiert wurden aber bei einem der beiden inst. Drucker anschl. (von mir per Hand) die Fähigkeiten des Druckers in den Druckertreibereinstellungen abgefragt wurden (das was ich ja eigentlich automatisieren lasssen will) und somit auch eingepflegt sind. Der eine Drucker hat nun in den Druckoptionen mehr Papierschächte bei der Zufuhr und bei der Ausgabe sowie einen Locher und Hefter. Der andere nicht, der hat nur die Standardeinstellungen wie sie direkt nach der Installation vorhanden sind.

Wenn ich das Skript laufen lasse und die Ausgabe vergleiche ist diese exakt gleich (bis auf wirklich notwendige Unterschiede wie Name und IP).

Hier mal die unterschiedlichen Druckdialoge in der Ansicht damit man bildlich sieht was ich meine:
https://prnt.sc/gfd4di nach einer Standardinstallation bevor ich auf die umrandete Schaltfläche klicke
https://prnt.sc/gfd4gt der andere Drucker bei dem schon auf die Schaltfläche geklickt wurde

Die Papierzufuhroptionen sind halt auch anders, nach der Gerätestatusabfrage gibt es mehr Schächte und mit anderen Einstellungen.
Mitglied: 133883
133883 Aug 31, 2017 updated at 12:32:17 (UTC)
Goto Top
Dann werfe procmon und Wireshark an schau nach was im Hintergrund passiert wenn du den Button drückst, damit du weist was getriggert werden muss.
Ansonsten --> Support vom Hersteller
Wenn ich das Skript laufen lasse und die Ausgabe vergleiche ist diese exakt gleich (bis auf wirklich notwendige Unterschiede wie Name und IP).
Naja das ist normal, in den Properties des Objects des Druckers musst du schon tiefer graben face-wink. Das ist kein Fire & Forget Skript da musst du schon noch selbst die Optionen und Functions bemühen ! Da du Admin bist sollte das für dich ja kein größeres Problem darstellen etwas nach zu forschen.