Drucker anhalten per Kommandozeile
Ich drucke auf meinem Notebook häufig unterwegs in eine „angehaltene“ Drucker-Queue und starte sie dann, sobald ich wieder Kontakt zum Drucker habe. Das erfordert allerdings lästig viele Klicks. Gibts da nicht auch was für die Kommandozeile?
- Johannes Endres
Ich drucke auf meinem Notebook häufig unterwegs in eine „angehaltene“ Drucker-Queue und starte sie dann, sobald ich wieder Kontakt zum Drucker habe. Das erfordert allerdings lästig viele Klicks. Gibts da nicht auch was für die Kommandozeile?
Ja, dazu liegt im Verzeichnis %windir%\system32 das VBScript prnqctl.vbs, das Sie auf der Kommandozeile ausdrĂĽcklich mit dem Interpreter cscript aufrufen mĂĽssen. Den Druckernamen geben Sie mit der Option -p an, zum Anhalten dient der Parameter -z, zum Fortsetzen -m:
cscript prnqctl.vbs -z -p "BĂĽrodrucker"
Dazu sind Administratorrechte erforderlich. Das Skript benutzt die Windows Management Instrumentation (WMI), die Sie auch direkt ansprechen können. Das WMI-Objekt „Printer“ kennt sogar zwei Verfahren zum Stoppen der Queue, nämlich das Methoden-Paar pause und resume sowie die Eigenschaft „WorkOffline“. So können Sie zum Beispiel unter XP Pro mit der Kommandozeile
wmic printer where "name='BĂĽrodrucker'" call pause
die Queue namens „Bürodrucker“ anhalten. Wenn Sie am Ende resume statt pause einsetzen, geht der Druck weiter. Alternativ können Sie den Drucker auch offline setzen:
wmic printer where "name='BĂĽrodrucker'" set WorkOffline=True
Diese Methode funktioniert auch mit Netzwerkdruckern. Wie Sie das Kommandozeilenprogramm wmic unter XP Home installieren, verrät der Artikel in c't 15/06 auf Seite 204. ()