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")