Arbeiten mit Druckern unter Windows

Dieses Beispiel gilt nur für Windows-Plattformen.

Sie können PowerShell zum Verwalten von Druckern mit WMI und dem COM-Objekt WScript.Network vom WSH verwenden.

Auflisten von Druckerverbindungen

Die einfachste Möglichkeit, die auf einem Computer installierten Drucker aufzulisten, ist die Verwendung der WMI-Klasse Win32_Printer:

Get-CimInstance -Class Win32_Printer

Sie können die Drucker auch mit dem COM-Objekt WScript.Network auflisten, das normalerweise in WSH-Skripts verwendet wird:

(New-Object -ComObject WScript.Network).EnumPrinterConnections()

Da dieser Befehl eine einfache Zeichenfolgenauflistung von Portnamen und Druckergerätenamen ohne unterscheidende Bezeichnungen zurückgibt, ist die Ausgabe nicht einfach zu interpretieren.

Hinzufügen eines Netzwerkdruckers

Verwenden Sie zum Hinzufügen eines neuen Netzwerkdruckers WScript.Network:

(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\Printserver01\Xerox5")

Festlegen eines Standarddruckers

Um mithilfe von WMI den Standarddrucker festzulegen, suchen Sie den Drucker in der Win32_Printer-Sammlung, und rufen Sie dann die Methode SetDefaultPrinter auf:

$printer = Get-CimInstance -Class Win32_Printer -Filter "Name='HP LaserJet 5Si'"
Invoke-CimMethod -InputObject $printer -MethodName SetDefaultPrinter

WScript.Network ist etwas einfacher zu verwenden, da es eine SetDefaultPrinter-Methode besitzt, die nur den Druckernamen als Argument akzeptiert:

(New-Object -ComObject WScript.Network).SetDefaultPrinter('HP LaserJet 5Si')

Entfernen einer Druckerverbindung

Um eine Druckerverbindung zu entfernen, verwenden Sie die Methode WScript.Network RemovePrinterConnection:

(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\Printserver01\Xerox5")