Werken met printers in Windows

U kunt PowerShell gebruiken om printers te beheren met WMI en het WScript.Network COM-object van WSH. We gebruiken een combinatie van beide hulpprogramma's om specifieke taken te demonstreren.

Printerverbindingen in een lijst bekijken

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

Get-CimInstance -Class Win32_Printer

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

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

Omdat deze opdracht retourneert een eenvoudige tekenreeks verzameling van poortnamen en printerapparaatnamen zonder onderscheidende labels, is het niet gemakkelijk te interpreteren.

Een netwerkprinter toevoegen

Gebruik WScript.Network om een nieuwe netwerkprinter toe te voegen:

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

Een standaardprinter instellen

Als u WMI wilt gebruiken om de standaardprinter in te stellen, gaat u naar de printer in 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 het 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 RemovePrinterConnection:

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