Wenn Sie schon einmal Druckerverwaltungsaufgaben ohne grafische Benutzeroberfläche erledigen mussten – beispielsweise die Bereitstellung von Druckern in einem Netzwerk per Skript oder die Automatisierung von Treiberinstallationen –, dann könnten Ihnen diese Befehlszeilentricks sehr hilfreich sein. Die Druckerverwaltung per Skript kann anfangs etwas knifflig sein, insbesondere da Windows über zahlreiche integrierte Skripte und Tools verfügt, die die Hauptarbeit im Hintergrund erledigen. Aber ehrlich gesagt, sobald man den Dreh raus hat, ist es ziemlich befriedigend, Dinge schneller zu erledigen, als in den Menüs „Einstellungen“ oder „Geräte“ herumzuklicken. Außerdem eignet es sich hervorragend für Skripte in SCCM, Anmeldeskripte oder sogar Aufgaben auf Remote-Servern. Kurz gesagt: Windows stellt eine Sammlung von VBS-Skripten in `C:\Windows\System32\Printing_Admin_Scripts\en-US` (oder einem lokalisierten Ordner, je nach Ihrer Sprache) bereit. Mit diesen Skripten können Sie Treiber installieren, Drucker hinzufügen oder entfernen, Ports erstellen, Warteschlangen verwalten und sogar Drucker freigeben, ohne jemals die grafische Benutzeroberfläche zu öffnen. Es ist so etwas wie ein Geheimtipp, aber wenn man die richtigen Befehle kennt, vereinfacht es die Masseninstallation von Druckern und die Fehlersuche erheblich – manchmal sogar schneller, als auf ein Windows-Update zu warten. Ein Hinweis: Auf älteren Systemen wie XP oder Windows Server 2003 befinden sich die Skripte stattdessen in `C:\WINDOWS\system32`, und die Befehle sind ziemlich ähnlich. Denn natürlich muss Windows es unnötig kompliziert machen.
So beheben Sie Probleme mit der Druckerverwaltung über die Befehlszeile in Windows
So installieren Sie einen Druckertreiber über die Befehlszeile
Manchmal ist eine Neuinstallation des Treibers erforderlich, insbesondere beim Einrichten neuer Drucker oder beim Aktualisieren mehrerer Treiber gleichzeitig. Dies ist in Unternehmensumgebungen, in denen eine manuelle Installation über die grafische Benutzeroberfläche nicht praktikabel ist, recht häufig der Fall. Der Befehl verwendet `prndrvr.vbs` mit dem Parameter `-a`, der anweist, einen Treiber hinzuzufügen. Zum Beispiel:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prndrvr.vbs" -a -m "HP Universal Printing PCL 6" -i "C:\drv\HP Universal Print Driver\hpcu160u.inf"
Die Befehlszeile im Detail: -a dient zum Hinzufügen, -m gibt den Treibernamen an (dieser muss mit dem gewünschten Treiber übereinstimmen, z. B.dem universellen Druckertreiber), und -i verweist auf die exakte INF-Datei mit den Treiberinformationen. Das ist logisch – Sie teilen Windows damit genau mit, wo der Treiber zu finden ist und was damit zu tun ist. Bei manchen Systemen kann die Installation verweigert werden, wenn der Treiber inkompatibel oder beschädigt ist. Manchmal hilft es, den Befehl nach einem Neustart erneut auszuführen oder den INF-Pfad zu aktualisieren. Normalerweise wird der Treiber anschließend in den Druckservereigenschaften angezeigt (zu finden über Systemsteuerung > Geräte und Drucker > Druckservereigenschaften).
Einen neuen Drucker über die Eingabeaufforderung hinzufügen
Sobald der Treiber installiert ist, ist das Hinzufügen des Druckers selbst recht einfach. Der Befehl verwendet erneut `prnmngr.vbs` mit `-a`, diesmal jedoch zum Erstellen des Druckers. Beispiel:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -a -p "HP5525" -m "HP Universal Printing PCL 6" -r "LPT1:"
Dadurch wird ein neuer lokaler Drucker namens „HP5525“ mit dem entsprechenden Treiber installiert und an einen Port angeschlossen LPT1. Sie können stattdessen USB-Ports (USB001) oder serielle Ports (COM1:) verwenden. Beachten Sie, dass die Portnamen mit denen Ihres Computers übereinstimmen müssen. Wenn Sie einen nicht verfügbaren Port angeben, schlägt das Skript fehl oder führt keine Aktion aus.Überprüfen Sie die Ports in „Geräte und Drucker“, bevor Sie diese Befehle ausführen.
Festlegen des Standarddruckers über die Befehlszeile
Manchmal treten Probleme auf, wenn Windows vergisst, welchen Drucker Sie eigentlich verwenden möchten. Sie können alle Drucker mit folgendem Befehl auflisten:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -l
Und um zu sehen, was Ihre aktuelle Standardeinstellung ist:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -g
Um die Standardeinstellung zu ändern, führen Sie Folgendes aus:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -t -p "HP5525"
Dadurch wird Ihr Standarddrucker geändert, ohne dass Sie die Einstellungen aufrufen müssen. Bei manchen Windows-Systemen erfolgt die Umstellung nicht sofort, daher kann ein Neustart oder eine Abmeldung erforderlich sein, damit die Änderung vollständig wirksam wird. Glauben Sie mir, ich und einige Systemadministratoren mussten das schon mehr als einmal tun.
Erstellen Sie einen TCP/IP-Port für einen Netzwerkdrucker
Das Verbinden mit einem Netzwerkdrucker erfordert zwei Schritte: Zuerst muss ein Port erstellt und dann der Drucker hinzugefügt werden. Zunächst muss ein TCP/IP-Port eingerichtet werden – beispielsweise mit der IP-Adresse des Druckers: 192.168.1.22. Der Befehl sieht folgendermaßen aus:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\Prnport.vbs" -a -r IP_192.168.1.22 -h 192.168.1.22 -o raw -n 9100
Hierbei ist -r der Portname, den Sie beliebig benennen können, -h die IP-Adresse, -o raw legt das Protokoll (Raw Socket) fest und -n 9100 ist im Allgemeinen der Standardport. Sobald der Port erstellt ist, können Sie den Drucker mit folgendem Befehl hinzufügen:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -a -p "HP5525" -m "HP Universal Printing PCL 6" -r "IP_192.168.1.22"
Dadurch wird der Netzwerkdrucker mit der angegebenen IP-Adresse automatisch hinzugefügt und ist auf Ihrem System verfügbar. Sollten die IP- oder Port-Einstellungen fehlerhaft sein, kann das Skript hängen bleiben oder Fehlermeldungen ausgeben.Überprüfen Sie daher bitte die IP-Adresse und die Portnummer.
Drucken einer Testseite über die Befehlszeile
Möchten Sie überprüfen, ob alles funktioniert? Das folgende Skript löst einen Testdruck auf Ihrem angegebenen Drucker aus:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnqctl.vbs” -e -p "HP5525"
Es ist etwas ungewöhnlich, funktioniert aber meistens. Man muss nicht die Druckereigenschaften aufrufen – es wird einfach eine Diagnoseseite gedruckt, um die korrekte Einrichtung zu bestätigen. Bei manchen Konfigurationen, insbesondere bei Netzwerkdruckern oder benutzerdefinierten Einstellungen, funktioniert es möglicherweise nicht sofort, aber immerhin ein Anfang.
Druckwarteschlangen verwalten – Aufträge anzeigen, löschen und abbrechen
Falls Sie Probleme mit hängenden Druckaufträgen haben oder einfach nur einen kurzen Blick darauf werfen möchten, bieten die Skripte Befehle zum Anzeigen und Leeren der Warteschlangen. So listen Sie alle Druckaufträge auf allen lokalen Druckern auf:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs" -l
So sehen Sie die Aufträge auf einem bestimmten Drucker:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs" -l -p "HP5525"
Und wie leert man eine Druckwarteschlange? Dieser Befehl erledigt das, aber Vorsicht – er löscht alle Aufträge in der Warteschlange:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs" -x -p "HP5525"
Um alle Warteschlangen auf allen Druckern mit einer Brute-Force-Methode zu leeren:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs" -x
Hinweis: Gelegentlich funktionieren diese Skripte möglicherweise nicht, wenn der Drucker zu viele ausstehende Aufträge hat oder die Berechtigungen fehlerhaft sind – im Allgemeinen erfüllen sie aber ihren Zweck.
Einen Drucker über das Netzwerk per Befehlszeile freigeben
Die Druckerfreigabe ist auch über die Kommandozeile möglich. Um einen vorhandenen Drucker mit einem aussagekräftigen Namen freizugeben, führen Sie folgenden Befehl aus:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs" -t -p "HP5525" -h "HP5525_Shared" +shared
Und so deaktivieren Sie die Freigabe:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs" -t -p "HP5525" -shared
Wenn Sie den Drucker in Active Directory veröffentlichen möchten, fügen Sie das Flag +published hinzu:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs" -t -p "HP5525" +published
Im Prinzip können Sie Freigabe und Veröffentlichung per Skript automatisieren, um netzwerkweite Bereitstellungen zu automatisieren.
Einen Netzwerkdrucker über die Befehlszeile hinzufügen
Um eine Verbindung zu einem freigegebenen Drucker auf einem anderen Rechner, z. B.\\rome-prnt01\hp2100, herzustellen, führen Sie Folgendes aus:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -ac -p "\\rome-prnt01\hp2100"
Achten Sie auf häufige Fehler (0x00000002, 0x00000057, 0x0000007e), die auftreten, wenn der Freigabename falsch ist oder Netzwerkprobleme bestehen. In der Regel lässt sich das Problem durch eine Überprüfung des Freigabepfads und der Berechtigungen beheben.
Drucker und Treiber über die Befehlszeile entfernen
Falls ein Drucker nicht mehr richtig funktioniert oder Sie einfach nur aufräumen möchten, können Sie zunächst alle installierten Drucker auflisten:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -l
Und löschen Sie einen bestimmten Drucker mit:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -d -p "HP5525"
Um den Treiber selbst zu entfernen, führen Sie Folgendes aus:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prndrvr.vbs" -d -m "HP Universal Printing PCL 6" -e "Windows x64" -v 3
Das ist praktisch, wenn Sie Treiber austauschen oder alte Treiber entfernen. Auf manchen Rechnern können nach dem Entfernen von Treibern Restdateien zurückbleiben, aber in den meisten Fällen funktioniert es wie vorgesehen.
Zusammenfassung
Das ist im Grunde die Kurzfassung: Diese Skripte sind zwar nicht die elegantesten Tools, können aber bei der Automatisierung von Druckereinrichtung, Fehlerbehebung oder Massenbereitstellung Gold wert sein – insbesondere dann, wenn eine grafische Benutzeroberfläche nicht verfügbar ist. Wichtig ist, dass diese Skripte empfindlich auf Syntax und Parameter reagieren; etwas Ausprobieren hilft daher manchmal. Sobald sie funktionieren, ist es aber sehr befriedigend, eine ganze Druckerflotte mit einfachen Befehlen zu verwalten, anstatt sich durch Menüs zu wühlen.
Zusammenfassung
- Verwenden Sie `
prndrvr.vbs` um Treiber zu installieren prnmngr.vbsDrucker mit ` ` hinzufügen- Erstellen Sie TCP/IP-Ports mit `
Prnport.vbs` - Verwalten Sie Warteschlangen und Jobs mit `
prnjobs.vbs` - Netzwerkdrucker freigeben und verbinden über `
prncnfg.vbs` und `prnmngr.vbs - Drucker und Treiber bei Bedarf entfernen
Schlussgedanken
Die meisten dieser Befehle sind zwar etwas altmodisch, funktionieren aber – und in manchen Umgebungen sind sie sogar die einzigen Möglichkeiten. Viel Spaß beim Ausprobieren! Scheuen Sie sich nicht, die Befehle an Ihre spezifische Konfiguration anzupassen und zu kombinieren. Ich hoffe, das hilft Ihnen, sich die Arbeit zu erleichtern – bei mir hat es funktioniert, also hoffe ich, dass es auch anderen viel Zeit spart.