Werken met printers in Windows

Dit voorbeeld is alleen van toepassing op Windows-platforms.

U kunt PowerShell gebruiken om printers te beheren met WMI en het WScript.Network COM-object van WSH.

Printerverbindingen weergeven

De eenvoudigste manier om de printers weer te geven die op een computer zijn geïnstalleerd, is door de WMI-Win32_Printer-klasse te gebruiken:

Get-CimInstance -Class Win32_Printer

U kunt de printers ook vermelden met behulp van het WScript.Network COM-object dat doorgaans wordt gebruikt in WSH-scripts:

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

Omdat deze opdracht een eenvoudige tekenreeksverzameling van poortnamen en printerapparaatnamen retourneert zonder onderscheid te maken tussen labels, is het niet eenvoudig te interpreteren.

Een netwerkprinter toevoegen

Als u een nieuwe netwerkprinter wilt toevoegen, gebruikt u WScript.Network:

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

Een standaardprinter instellen

Als u WMI wilt gebruiken om de standaardprinter in te stellen, zoekt u de printer in de Win32_Printer verzameling en roept u vervolgens de methode SetDefaultPrinter aan:

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

WScript.Network is iets eenvoudiger te gebruiken, omdat deze een SetDefaultPrinter-methode heeft die alleen de printernaam als argument gebruikt:

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

Een printerverbinding verwijderen

Als u een printerverbinding wilt verwijderen, gebruikt u de methode WScript.Network RemovePrinter Verbinding maken ion:

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