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