none
Обновление драйверов на принтер в домене GPO

    Question

  • Добрый день!

    Не подскажете как правильно обновить драйвера на принтер(ы) в домене через GPO?

    С учетом того, что все принтеры установлены на принт-сервере.

    Заранее спасибо!

    Tuesday, June 26, 2012 6:32 AM

Answers

  • Как вариант - сначала удалить драйверы вот таким скриптом (можно и на поше поискать аналог) при помощи GPO, а затем накатить новые дрова (либо в уже готовом msi-пакете, либо самому msi собирать). Вариаций много. Если текущие драйвера устанавливались при помощи ГП, то можно воспользоваться готовой функцией обновления пакета.

    I'm inspired! Are you? Где смекалка и сноровка, там и палка что винтовка.

    Wednesday, June 27, 2012 10:45 AM
    Moderator

All replies

  • Как вариант - сначала удалить драйверы вот таким скриптом (можно и на поше поискать аналог) при помощи GPO, а затем накатить новые дрова (либо в уже готовом msi-пакете, либо самому msi собирать). Вариаций много. Если текущие драйвера устанавливались при помощи ГП, то можно воспользоваться готовой функцией обновления пакета.

    I'm inspired! Are you? Где смекалка и сноровка, там и палка что винтовка.

    Wednesday, June 27, 2012 10:45 AM
    Moderator
  • chcp 1251
    if exist %systemdrive%\HP. goto next
    ::Копируем с шары драйвер
    robocopy \\SHARE\HP\pcl5-x64-6.1.0.20062 %systemdrive%\pcl5-x64-6.1.0.20062 /e /mt:128
    pnputil -e>drv.txt
    SetLocal EnableExtensions EnableDelayedExpansion
    set /a i=0
    for /f "Delims=" %%s in (drv.txt) do (
    set /a i+=1
      if "%%s"=="11/20/2014 61.175.01.18849" (
      set /a i-=4
      set /a j=0
        for /f "Delims=" %%k in (drv.txt) do (
        set /a j+=1
        if !j!==!i! (set "inf=%%k"
         goto exit)
        )
      )
    )
    :exit
    del drv.txt /f /q
    pnputil -f -d %inf%

    ::Подчищаем очередь печати от повисших заданий
    :next
    sc stop spooler
    del %windir%\System32\spool\PRINTERS\*.* /f /q
    sc start spooler

    ::Удаляем принтера старые, а также их копии
    if exist %systemdrive%\HP. goto end
    for %%x in (1 2 3) do (
    rundll32.exe printui.dll,PrintUIEntry /dl /n "HP LaserJet M1530 MFP Series PCL6 (копия %%x)" /q
    rundll32.exe printui.dll,PrintUIEntry /dl /n "HP Universal Printing PCL 6 (v6.0.0) (копия %%x)" /q
    )

    ::Удаляем принтера старые
    rundll32.exe printui.dll,PrintUIEntry /dl /n "HP LaserJet M1530 MFP Series PCL6" /q
    rundll32.exe printui.dll,PrintUIEntry /dl /n "HP Universal Printing PCL 6 (v6.0.0)" /q

    ::Собственно, установка нужного драйвера
    pnputil -i -a %systemdrive%\pcl5-x64-6.1.0.20062\hpcu180t.inf>%systemdrive%\HP.
    rmdir %systemdrive%\pcl5-x64-6.1.0.20062 /s /q

    ::Установка принтера на USB-порт USB001, USB002 или USB003 (зависит от ПК)
    for %%z in (1 2 3) do rundll32 printui.dll,PrintUIEntry /if /b "HP Universal Printing PCL 5 (v6.1.0)" /f %windir%\inf\ntprint.inf /r USB00%%z /m "HP Universal Printing PCL 5 (v6.1.0)"

    :end

    Здесь скрипту передаётся дата и версия драйвера 11/20/2014 61.175.01.18849 (заранее узнать можно с помощью pnputil -e), которую нужно найти и покосить, а также указывается путь к файлу конфигурации pcl5-x64-6.1.0.20062\hpcu180t.inf, полученный после распаковки в папку нужного для установки драйвера.
    Monday, September 26, 2016 11:51 AM