Массовая замена драйвера HP Universal Print Driver на сервере печати с помощью PowerShell

imageИмея в инфраструктуре сервер печати, рано или поздно встанет вопрос о замене драйверов на более новую версию для всех принтеров. Конечно, если принтеров немного, то автоматизировать процесс замены драйверов может и нет необходимости, а если их к примеру сотня и более? В этой заметке мы рассмотрим замену драйвера печати на сервере печати c Windows Server 2012 на примере универсального драйвера печати – HP Universal Print Driver (UPD).

Каждый, кто хотя бы раз устанавливал драйвера для принтеров HP UPD вставал перед выбором:

image

На самом деле, два предложенных драйвера совершенно одинаковы, различие только в имени. Разработчики сделали две версии одного драйвера не просто так.

Если выбрать первый вариант «HP Universal Printing PCL 5«, при первой установке драйвер будет добавлен в систему с этим именем, а при обновлениях он попросту будет заменяться более новой версией. Но этот способ имеет один существенный недостаток. Может возникнуть ситуация, когда старые модели принтеров не будут работать с новой версией UPD, например из-за бага или снятия модели с поддержки.

Если выбрать второй вариант «HP Universal Printing PCL 5 (<Номер версии>)«, то при последующем обновлении новая версия драйвера будет добавляться в систему, сохраняя при этом и старую версию драйвера, т.е. получится некая база драйверов одного вендора с разбивкой по версиям.

image

При добавлении драйвера новой версии на сервер печати  вторым способом может потребоваться замена драйвера на новый в свойствах большого количества принтеров на сервере печати. Чтобы избавиться от рукопашных манипуляций используем PowerShell:

gwmi win32_printer -filter 'drivername="HP Universal Printing PCL 5 (v5.5.0)"' |
ForEach-Object{
    $_.DriverName='HP Universal Printing PCL 5 (v5.6.5)'
    $_.Put()
}


Общий смыл скрипта -и
щем все принтеры с установленным драйвером «HP Universal Printing PCL 5 (v5.5.0)» и меняем его на «HP Universal Printing PCL 5 (v5.6.5)«.

Источник: Powershell script to get list of printer on a Windows 2008 R2 Print Server which are using «Xerox Global Print Driver PCL6» and change there driver to «Xerox Global Print Driver PS».

Всего комментариев: 3 Комментировать

  1. de /

    Спасибо Виталий!
    Только недавно ломал голову над этими двумя драйверами.

  2. Alex /

    Отлично, тоже думал почему они так называются

  3. znom /

    Спасибо! Хотелось бы добавить, что при смене драйвера настройки принтера сбрасываются на дефолтные настройки нового драйвера. Настройки драйвера можно поменять через HP Driver configuration utility, подробности тут:

Добавить комментарий