Powershell: управление принтерами и их драйверами в Windows 8 | Windows для системных администраторов

Powershell: управление принтерами и их драйверами в Windows 8

В предыдущей статье мы рассмотрели олдскульные vbs скрипты, которые можно было использовать для управления принтерами и печатью во всех версиях Windows, начиная с XP. Сегодня же мы рассмотрим типовые команды и методики управления принтерами и их драйверами в Windows 8.1 / Server 2012 R2 с помощью Powershell.

Вместе с выходом  Windows 8.1 и Windows Server 2012 R2 Microsoft зарелизила новую версию PowerShell 4.0 (входит в состав Windows Management Framework 4.0), в котором был существенно расширен список командлетов по управлению сервером печати на базе Windows. Полный список командлетов, по управлению принтерами, драйверами и очередями печати, доступных в Posh v4 можно получить командой:

Get-Command –Module PrintManagement

Windows 8 управление принтерами с помощью Powershell

Доступны 22 командлета Powershell:

  • Add-Printer – установить принтер
  • Add-PrinterDriver —  установить драйвер принтера
  • Add-PrinterPort – создать порт печати
  • Get-PrintConfiguration – отобразить конфигурацию принтера
  • Get-Printer – вывести список установленных принтеров
  • Get-PrinterDriver – вывести список установленных драйверов
  • Get-PrinterPort - вывести список портов печати
  • Get-PrinterProperty – показать свойства принтера
  • Get-PrintJob – получить список заданий принтера
  • Read-PrinterNfcTag – получить информацию о принтере из метки NFC
  • Remove-Printer — удалить принтер
  • Remove-PrinterDriver - удалить драйвер
  • Remove-PrinterPort — удалить порт
  • Remove-PrintJob – удалить задание печати на принтере
  • Rename-Printer — переименовать принтер
  • Restart-PrintJob — перезапустить задание печати
  • Resume-PrintJob — запустить в работу приостановленное задание
  • Set-PrintConfiguration – настройка конфигурации принтера
  • Set-Printer – обновить конфигурацию принтера
  • Set-PrinterProperty — изменить свойства принтера
  • Suspend-PrintJob – приостановить выполнение задания печати
  • Write-PrinterNfcTag – записать информацию в метку NFC

Подробную информацию о синтаксисе конкретной команды можно получить так:

Get-Help <имя_командлета > -Detailed

Примеры использования команд:

Get-Help <имя_командлета > -Examples

Рассмотрим типовые примеры использования указанных командлетов для управления принтерами в Windows 8.

Отобразим список драйверов печати в системе:

Get-PrinterDriver

Get-PrinterDriver вывод списка установленных драйверов для принтеров

Уставим в системе новый драйвер печати, например HP Universal Printing PCL 6. Согласно документации команда добавления драйвера должна быть такой:

Add-PrinterDriver -Name "HP Universal Printing PCL 6" -InfPath "C:\Install\HPUn\hpcu160u.inf"

Однако при попытке установить драйвер подобным образом появляется ошибка:

Add-PrinterDriver : One or more specified parameters for this operation has an invalid value.
At line:1 char:1
+ Add-PrinterDriver -Name "HP Universal Printing PCL 6" -InfPath "C:\Install\HPUn\ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (MSFT_PrinterDriver:ROOT/StandardCimv2/MSFT_PrinterDriver) [Add-Printer
Driver], CimException
+ FullyQualifiedErrorId : HRESULT 0x80070057,Add-PrinterDriver

Add-PrinterDriver ошибка установки драйвера печати из inf файла

Оказывается, драйвер из inf файла можно добавить только в том случае, если он уже находится в хранилище драйверов DriverStore (подробнее про хранилище можно почитать здесь). Получается, что с помощью команды Add-PrinterDriver установить драйвер, отсутствующий в хранилище драйверов системы нельзя. Для установки драйвера в DriverStore можно воспользоваться:

  • vbs скриптом из предыдущей статьи
  • Утилитой pnputil.exe. Формат такой: Pnputil –a pnputil.exe -i -a C:\Install\HPUn\hpcu160u.inf (установить конкретный драйвер принтера) или pnputil.exe -i -a C:\Install\HPUn\*.inf (установит все драйвера, найденные в inf файлах указанного каталога)
  • Командлетом Add-WindowsDriver, позволяющим интегрировать драйвера в оффлайн образ Windows

После добавления драйвер принтера в хранилище, необходимо установить его на принт-сервере.

Add-PrinterDriver -Name "HP Universal Printing PCL 6"

Установка драйвера принтера в DriverStore(Windows 8)

Совет. Немного информации про параметр «имя драйвера». Указываемое имя должно в точности совпадать с его внутренним системным именем, иначе при установке появится ошибка. Узнать правильное имя драйвера можно с помощью команды get-printerdriver на системе, в которой этот драйвер уже установлен, либо путем ручного исследования .inf файла драйвера.

Создадим ip порт для печати на сетевом принтере:

Add-PrinterPort -Name "IP_192.168.10.26" -PrinterHostAddress "192.168.10.26"

С помощью следующей команды мы создадим в системе новый принтер и опубликуем его(откроем к нему общий доступ):

Add-Printer -Name hp3027_Office1_Buh -DriverName "HP LaserJet M3027 MFP PCL6 Class Driver" -PortName IP_192.168.10.26 -Shared -ShareName "hp3027_1_BUh" –Published
Примечание. Заметьте, что для выполнения этой же операции в случае использования vbs скриптов (Printing Admin scripts) понадобится выполнить две разные команды.

Установка принтера в windows 2012 r2 с помощью powershell

После выполнения указанных команд в системе появится новый расшареный принтер с именем hp3027_Office1_Buh Принтер hp 3027 появился в системе

Удалить принтер можно командой:

Remove-Printer -Name "hp3027_Office1_Buh"

Драйвер удаляется так:

Remove-PrinterDriver -Name "HP Universal Printing PCL 6"
Еще записи по теме: Windows 8
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.24MB/0.00145 sec