Wie setze ich den Standarddrucker per Eingabeaufforderung oder PowerShell dauerhaft?
- Einleitung
- Standarddrucker über die Eingabeaufforderung setzen
- Standarddrucker über PowerShell setzen
- Überprüfung des aktuellen Standarddruckers
- Besonderheiten und Tipps
- Zusammenfassung
Einleitung
Unter Windows kann es sinnvoll sein, den Standarddrucker programmgesteuert zu ändern, beispielsweise in automatisierten Skripten oder bei wechselnden Arbeitsumgebungen. Dies lässt sich sowohl über die klassische Eingabeaufforderung (CMD) als auch über PowerShell realisieren. Der Standarddrucker ist der Drucker, der automatisch verwendet wird, wenn keine spezielle Wahl getroffen wird.
Standarddrucker über die Eingabeaufforderung setzen
Die Eingabeaufforderung bietet selbst kein eingebautes Kommando, um den Standarddrucker zu setzen. Allerdings kann man mit Hilfe von Tools wie rundll32 oder Windows Management Instrumentation Command-line (WMIC, wenn verfügbar) oder über PowerShell diesen Vorgang durchführen. Ein bewährter Weg ist die Verwendung von rundll32 mit dem Drucker-API. Um den Standarddrucker zu ändern, verwendet man folgenden Befehl:
rundll32 printui.dll,PrintUIEntry /y /n "Druckername"Hierbei steht der Parameter /y für Setzen als Standarddrucker und /n für den Druckernamen, der in Anführungszeichen angegeben wird. Der Druckername muss exakt so geschrieben sein, wie er in der Systemsteuerung unter Drucker angezeigt wird.
Beispiel:
rundll32 printui.dll,PrintUIEntry /y /n "HP LaserJet 4000"Wird dieser Befehl ausgeführt, wird "HP LaserJet 4000" als Standarddrucker festgelegt. Diese Änderung ist dauerhaft, bis sie wieder überschrieben wird.
Standarddrucker über PowerShell setzen
PowerShell bietet ab Version 5.1 eine komfortablere Möglichkeit, den Standarddrucker zu ändern, ohne auf externe Tools zurückgreifen zu müssen. Über das .NET-Framework und WMI können Drucker verwaltet werden. Ein einfache Methode ist die Verwendung des Cmdlets Set-Printer in Kombination mit dem Schalter -Default, der in neueren Windows 10/11 Versionen verfügbar ist.
Der Befehl sieht folgendermaßen aus:
Set-Printer -Name "Druckername" -DefaultAuch hier muss der Druckername exakt angegeben werden. Beispiel:
Set-Printer -Name "HP LaserJet 4000" -DefaultAlternativ, wenn das Cmdlet Set-Printer nicht verfügbar ist oder die Version älter ist, kann man die WMI-Klasse Win32_Printer verwenden. Dies erfordert ein Skript wie:
$printer = Get-WmiObject -Query "SELECT * FROM Win32_Printer WHERE Name=HP LaserJet 4000"$printer.SetDefaultPrinter()Die Methode SetDefaultPrinter() setzt den Drucker als Standard. Auch dieser Schritt ändert den Standarddrucker dauerhaft.
Überprüfung des aktuellen Standarddruckers
Nach der Änderung kann der aktuelle Standarddrucker überprüft werden, um sicherzustellen, dass die Änderung erfolgreich war. In PowerShell funktioniert dies mit:
(Get-Printer | Where-Object Default -eq $true).NameIn der Eingabeaufforderung gibt es keinen direkten Befehl, aber man kann über WMI oder Auslesen der Registry den Standarddrucker abfragen.
Besonderheiten und Tipps
Es ist wichtig, den Druckernamen exakt zu verwenden, da sonst der Befehl fehlschlägt. Sonderzeichen, Leerzeichen und Groß-/Kleinschreibung sollten beachtet werden. Bei Skripten empfiehlt es sich, den Druckernamen dynamisch auszulesen oder vorher anzuzeigen. Die Änderung des Standarddruckers wird in der Registry unter HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device gespeichert und ist somit benutzerspezifisch.
Falls mehrere Benutzer auf demselben System arbeiten, wirkt sich der Standarddrucker immer nur auf den angemeldeten Benutzer aus. Für Änderungen auf Systemebene oder für mehrere Benutzer sind weitergehende administrative Maßnahmen notwendig.
Zusammenfassung
Das dauerhafte Setzen des Standarddruckers kann einfach über rundll32 printui.dll,PrintUIEntry /y /n "Druckername" in der Eingabeaufforderung erfolgen oder komfortabler über den PowerShell-Befehl Set-Printer -Name "Druckername" -Default. Beide Methoden ändern die Einstellung dauerhaft für den aktuell angemeldeten Benutzer. Die Wahl der Methode hängt von der Windows-Version und den verfügbaren Tools ab.