Работа с принтерами в Windows
Этот пример применяется только к платформам Windows.
PowerShell можно использовать для управления принтерами с помощью WMI и COM-объекта WScript.Network из WSH.
Перечисление подключений принтера
Самый простой способ вывести список принтеров, установленных на компьютере, — использовать класс Win32_Printer инструментария WMI.
Get-CimInstance -Class Win32_Printer
Вы также можете перечислить принтеры с помощью COM-объекта WScript.Network , который обычно используется в скриптах WSH:
(New-Object -ComObject WScript.Network).EnumPrinterConnections()
Так как эта команда возвращает простую коллекцию строк имен портов и имен устройств принтера без различающихся меток, не легко интерпретировать.
Добавление сетевого принтера
Чтобы добавить сетевой принтер, используйте WScript.Network:
(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\Printserver01\Xerox5")
Настройка принтера по умолчанию
Чтобы задать принтер по умолчанию с помощью инструментария WMI, найдите принтер в коллекции Win32_Printer, а затем вызовите метод SetDefaultPrinter.
$printer = Get-CimInstance -Class Win32_Printer -Filter "Name='HP LaserJet 5Si'"
Invoke-CimMethod -InputObject $printer -MethodName SetDefaultPrinter
WScript.Network немного проще в использовании, так как содержит метод SetDefaultPrinter, который принимает в качестве аргумента только имя принтера:
(New-Object -ComObject WScript.Network).SetDefaultPrinter('HP LaserJet 5Si')
Удаление подключения принтера
Чтобы удалить подключение принтера, используйте метод WScript.Network RemovePrinterConnection:
(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\Printserver01\Xerox5")
PowerShell