Praca z drukarkami w systemie Windows

Ten przykład dotyczy tylko platform systemu Windows.

Za pomocą programu PowerShell można zarządzać drukarkami przy użyciu usługi WMI i obiektu WScript.Network COM z poziomu protokołu WSH.

Wyświetlanie listy połączeń drukarki

Najprostszym sposobem wyświetlenia listy drukarek zainstalowanych na komputerze jest użycie klasy WMI Win32_Printer :

Get-CimInstance -Class Win32_Printer

Drukarki można również wyświetlić przy użyciu obiektu WScript.Network COM, który jest zwykle używany w skryptach WSH:

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

Ponieważ to polecenie zwraca prostą kolekcję ciągów nazw portów i nazw urządzeń drukarki bez żadnych etykiet wyróżniających, nie jest łatwo interpretować.

Dodawanie drukarki sieciowej

Aby dodać nową drukarkę sieciową, użyj biblioteki WScript.Network:

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

Ustawianie drukarki domyślnej

Aby użyć usługi WMI do ustawienia drukarki domyślnej, znajdź drukarkę w kolekcji Win32_Printer , a następnie wywołaj metodę SetDefaultPrinter :

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

WScript.Network jest nieco prostszy do użycia, ponieważ ma metodę SetDefaultPrinter , która przyjmuje tylko nazwę drukarki jako argument:

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

Usuwanie połączenia drukarki

Aby usunąć połączenie drukarki, użyj metody WScript.Network RemovePrinter Połączenie ion:

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