Автоматическое подключение сетевых МФУ с возможностью сканирования [Часть 1]

HP LaserJet 1522, 1536, 3052/3055, 300/400 Color...


Я думаю, многим системным администраторам известны описанные в заголовке мфу, отличаются они, в первую очередь, не очень удобной установкой и от этого имеют дурную славу. Однажды, копируя на очередной компьютер сквозь узкий канал пакет fullsolution для мфу весом около 300 мегабайт, идея разобрать этот инсталлятор и автоматизировать установку вылезла попапом на глаза — работу пришлось приостановить.



Разбором драйвера я занимался уже около полутора лет назад, в то время интернет на эту тему был совершенно пуст. Сейчас быстро погуглил по теперь уже известным мне ключевым словам утилит и нашел немного разрозненной информации. Несмотря на это, я решил. что собранная в одно место информация все равно не помешает, при том, что в этом посте она более полная.

Настроим печать


Первым на запрос по snmp показался мфу HP LaserJet 1536, с него и решил начать. Для начала нужно понять. как его подключать как принтер под Windows 7; пожилую XP отбросил сразу, свежую Windows 8 в домене, есть мнение, мне не увидеть никогда. Вот и повод познакомиться с новым для себя PowerShell, подумал я, который в итоге был чуть ли не основной мотивацией в разборе драйвера. Подключение ip-принтера в Windows 7 состоит из трех этапов (в Windows 8 всё сильно упрощается встроенными командлетами, но про нее я уже говорил — не судьба), сначала создаем ip-порт, потом добавляем драйвер и подключаем, собственно, принтер. Для всех этих этапов в Windows есть уже готовые VBS скрипты, многим, я думаю, знакомые, в Windows 7 путь к ним: С:\Windows\System32\Printing_Admin_Scripts\

Начну с создания порта, этот этап самый простой, имя присвоим такое же как ip:
cscript C:\Windows\System32\Printing_Admin_Scripts\ru-RU\prnport.vbs -a -r "192.168.0.30" -h "192.168.0.30" -o RAW -n 9100


Добавление драйвера:
cscript C:\Windows\System32\Printing_Admin_Scripts\ru-RU\prndrvr.vbs -a -m "HP LaserJet M1530 MFP Series PCL 6" -e "Windows NT x86" -h "C:\drivers\1536\"-i "C:\drivers\1536\hpc1530c.inf"



Тут стоит отметить одну важную особенность: имя принтера должно указываться точно так же как оно прописано в inf файле драйвера, ради примера уберите часть имени, скрипт выдаст ошибку: «Не удалось добавить драйвер принтера HP LaserJet Код ошибки Win32 87».

Отрывок файла драйвера с полным именем принтера:



Теперь осталось подключить принтер, для этого я остановился на замечательной программе printui, советую посмотреть на нее поближе, у нее есть интересные ключи.
&rundll32 printui.dll,PrintUIEntry /if /b "HP LaserJet M1530 MFP Series PCL 6" /r "192.168.0.30" /m "HP LaserJet M1530 MFP Series PCL 6" /u /K /q /Gw

Пришло время оформить все это в примерно следующего вида скрипт на PowerShell:

function Add-PrinterPort ($printersource) {
	cscript C:\Windows\System32\Printing_Admin_Scripts\ru-RU\prnport.vbs `
	-a -r $printersource -h $printersource -o RAW -n 9100 | Out-Null
}

function Add-PrinterDriver ($printername, $driverpath) {
	$folder = Split-Path $driverPath
	cscript C:\Windows\System32\Printing_Admin_Scripts\ru-RU\prndrvr.vbs `
	-a -m $printername -e Get-Platform -h $folder -i $driverpath
}

function Get-Platform {
	if ([System.Environment]::Is64BitOperatingSystem) {
		"Windows x64"
	} else {
		"Windows NT x86"
	}
}

Add-Type -As Microsoft.VisualBasic
$printerSource = [Microsoft.VisualBasic.Interaction]::InputBox("Укажите IP адрес принтера.")

if ($printerSource -match "^192\.168\.0\.[0-9]{1,3}$") {
	$printername = "HP LaserJet M1530 MFP Series PCL 6"
	$driverpath = "C:\drivers\1536\hpc1530c.inf"

	Add-PrinterPort $printersource
	Add-PrinterDriver $printername $driverpath

	# знак & перед командой переключит режим и паремтры не сломаются
	&rundll32 printui.dll,PrintUIEntry /if /b $printername /r $printersource /m $printername /u /K /q /Gw
	Start-Sleep -Seconds 10
}




Сканирование


Копаясь в inf файлах драйвера, для поиска правильного имени принтера и попутно вообще разбираясь в структуре драйвера HP, глаз зацепился за следующие строки (выделил жирным):

;Windows Vista
[HP.NT.6.0]
«HP LJ M1530 MFP Series Scan»= WIA_1530_Inst.NT.6.0, USB\vid_03f0&pid_012a&mi_00
«HP LJ M1530 MFP Series Scan»= WIA_1530_NW.NT.6.0,vid_03f0&pid_012a&IP_SCAN

;Windows Vista 64
[HP.NTAMD64.6.0]
«HP LJ M1530 MFP Series Scan»= WIA_1530_Inst_Vista64, USB\vid_03f0&pid_012a&mi_00
«HP LJ M1530 MFP Series Scan»= WIA_1530_NW_Vista64,vid_03f0&pid_012a&IP_SCAN


Тут бы хотелось лирики (казалось бы, при чем тут 1С? если вы понимаете о чём я), но опущусь до сухой констатации: попробуем devcon.exe.

DevCon — это программа с интерфейсом командной строки, которая используется в качестве альтернативы диспетчеру устройств С ее помощью можно включать, выключать, перезапускать, обновлять, удалять и опрашивать отдельные устройства или группы устройств. Программа DevCon также предоставляет необходимые разработчику драйвера сведения, которые недоступны с помощью диспетчера устройств.

support.microsoft.com/kb/311272/ru

Добавляем устройство по ID указав драйвер:

.\devcon.exe /r install C:\drivers\1536scan\hppasc16.inf "vid_03f0&pid_012a&IP_SCAN"

Добавляем в реестр необходимые параметры, запускаем сканирование и… Бинго!
Сканер отлично работает, осталось все это оформить.

Настройки сканера в реестре хранятся по следующим путям:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\IMAGE

Опытным путём определяем необходимые нам ключи реестра:





Для того что бы удобно добавить настройки реестра, создадим процитированный ниже файл, который послужит нам шаблоном для модификации внутри скрипта.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\_ITEM_\DeviceData]
«NetworkDeviceID»="\\hostname:_NETWORK_NAME_.domain.local\\ipaddr:_IP_ADDRESS_\\guid:\\macaddr:_MAC_ADDRESS_\\port:1"
«PortID»="_IP_ADDRESS_"
«NetworkHostName»="_NETWORK_NAME_.domain.local"
«TulipIOType»=dword:00000005

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\IMAGE\_ITEM_\Device Parameters]
«NetworkDeviceID»="\\hostname:_NETWORK_NAME_.domain.local\\ipaddr:_IP_ADDRESS_\\guid:\\macaddr:_MAC_ADDRESS_\\port:1"
«PortID»="_IP_ADDRESS_"
«NetworkHostName»="_NETWORK_NAME_.domain.local"
«MAC»="_MAC_ADDRESS_"
«PortNumber»=«1»
«Index»="_ITEM_"


Готовый скрипт установки сканера примет следующий вид:

$IP_ADDRESS = "192.168.0.30"
$MAC_ADDRESS = "001b00b2cc00"
$NETWORK_NAME = "NPI3CPOF7"

$source = "C:\drivers\1536scan"
$dest = Join-Path (Get-Location).path "\temporary"

Copy-Item $source $dest -Recurse -Force
$dest = Join-Path $dest "\hppasc16.inf"

# devcon лежит в одной директории со скриптом
& .\devcon.exe /r install $dest "vid_03f0&pid_012a&IP_SCAN"

$item = Get-ChildItem HKLM:\SYSTEM\CurrentControlSet\Control\Class\"{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}" |
	Select-Object -Last 1
$item = $item.Substring($item.Length-4, 4)

$pattern = ".\temporary\1536.reg"
$result = ".\temporary\res.reg"
Get-Content $pattern | ForEach-Object {
    $_ 	-replace "_IP_ADDRESS_", $IP_ADDRESS `
    	-replace "_MAC_ADDRESS_", $MAC_ADDRESS `
    	-replace "_NETWORK_NAME_", $NETWORK_NAME `
    	-replace "_ITEM_", $item
} | Set-Content $result

& regedit /s .\temporary\res.reg


Потираем руки, проверяем — работает, модифицируем под 1522 — работает, победно правим под 3055 — облом…
Сканер не дает выбрать планшет, в меню сканирования доступен только податчик, да и тот отказывается сканировать.



Серьезный разговор с 3055 или, Чувак ты поднял на гору не тот камень





Вот он, LaserJet 3055/3052 — самый вредный парень, на удивление вижу я его чаще всех. На самом деле — скажу по секрету — я начал заниматься им первым — пошел через дебри фильтрации вывода procmon при установке драйвера для поиска чего-нибудь интересного и утонул где-то посередине. Когда очередной раз procmon упал из-за нехватки памяти, я решил отложить эту затею до более дружелюбного и спокойного состояния.

Второй набег на разбор установщика МФУ дал результат: спустя часа полтора разбора логов в недрах вывода установщика была найдена жемчужина — hppniscan01.exe
Запуск с необходимыми параметрами моментально установил сканер в устройства и прописал необходимые ветки реестра:
hppniscan01.exe -f "hppasc16.inf" -m "vid_03f0&pid_012a&IP_SCAN" -a "192.168.0.30" -n 1




В дистрибутивах драйверов других принтеров HP есть ее шестидесяти четырех разрядная версия, драйвер 3055 же поддерживает только x86 операционные системы.

Драйвера сканера я решил выдернуть из общей папки драйверов и сложить отдельно, необходимые файлы легко читаются из inf-файла драйвера. Дерево получилось следующего вида:

C:\Drivers\Scanners\ip\3055scan\hpgtpusd.dll
C:\Drivers\Scanners\ip\3055scan\hppasc01.cat
C:\Drivers\Scanners\ip\3055scan\hppasc01.dll
C:\Drivers\Scanners\ip\3055scan\hppasc01.inf
C:\Drivers\Scanners\ip\3055scan\hppniscan01.exe
C:\Drivers\Scanners\ip\3055scan\hpptpml3.dll
C:\Drivers\Scanners\ip\3055scan\hpxp3390.dll
C:\Drivers\Scanners\ip\3055scan\Drivers\dot4
C:\Drivers\Scanners\ip\3055scan\Drivers\dot4\Win2000\hpzidr12.dll
C:\Drivers\Scanners\ip\3055scan\Drivers\dot4\Win2000\hpzipm12.dll
C:\Drivers\Scanners\ip\3055scan\Drivers\dot4\Win2000\hpzipr12.dll
C:\Drivers\Scanners\ip\3055scan\Drivers\dot4\Win2000\hpzipr12.sys


Функция установки сканера теперь стала совсем простой, хоть и с зависимостью от внешней компоненты.
Итоговый вид скрипта, с некоторыми захардкоженными упрощениями, примет следующий вид:

function Add-PrinterPort ($printerSource) {
    &cscript C:\Windows\System32\Printing_Admin_Scripts\ru-RU\prnport.vbs `
    -a -r $printerSource -h $printerSource -o RAW -n 9100 | Out-Null
}

function Add-PrinterDriver ($printerName, $driverPath) {
    $folder = Split-Path $driverPath
    &cscript C:\Windows\System32\Printing_Admin_Scripts\ru-RU\prndrvr.vbs `
    -a -m $printerName -e Get-Platform -h $folder -i $driverPath
}

function Get-Platform {
    if ([System.Environment]::Is64BitOperatingSystem) {
        "Windows x64"
    } else {
        "Windows NT x86"
    }
}

function Add-Scanner ($ipaddress, $printername) {
    switch -regex ($printername) {
        # добавить других мфу по вкусу
        "1530" {
            Push-Location 'C:\Drivers\Scanners\ip\1536scan\'
            if ($(Get-Platform) -eq "Windows x64") {
                .\hppniscan64.exe -f "hppasc16.inf" -m "vid_03f0&pid_012a&IP_SCAN" -a $ipaddress -n 1
            } else {
                .\hppniscan01.exe -f "hppasc16.inf" -m "vid_03f0&pid_012a&IP_SCAN" -a $ipaddress -n 1
            }
            Pop-Location
        }        
        "(305\d)|(3390)" {
            Push-Location 'C:\Drivers\Scanners\ip\3055scan\'
            switch -regex ($printername) {
                "3050" {
                    .\hppniscan01.exe -f "hppasc01.inf" -m "vid_03f0&pid_3217&IP_SCAN" -a $ipaddress -n 1
                }
                "3052" {
                    .\hppniscan01.exe -f "hppasc01.inf" -m "vid_03f0&pid_3317&IP_SCAN" -a $ipaddress -n 1
                }
                "3055" {
                    .\hppniscan01.exe -f "hppasc01.inf" -m "vid_03f0&pid_3417&IP_SCAN" -a $ipaddress -n 1
                }
                "3390" {
                    .\hppniscan01.exe -f "hppasc01.inf" -m "vid_03f0&pid_3517&IP_SCAN" -a $ipaddress -n 1
                }
            }
            Pop-Location
        }
    }
}

Add-Type -As Microsoft.VisualBasic
$printerSource = [Microsoft.VisualBasic.Interaction]::InputBox("Укажите IP адрес принтера.")

if ($printersource -match "^192\.168\.0\.[0-9]{1,3}$") {
    $printername = "HP LaserJet M1530 MFP Series PCL 6"
    $driverpath = "C:\drivers\1536\hpc1530c.inf"

    Add-PrinterPort $printersource
    Add-PrinterDriver $printername $driverPath
    # знак & перед коммандой переключит режим и параметры не сломаются
    &rundll32 printui.dll,PrintUIEntry /if /b $printername /r $printersource /m $printername /u /K /q /Gw
    Start-Sleep -Seconds 10

    Add-Scanner $printersource $printername
}


Этот же способ отлично подходит для всех оказавшихся вокруг меня МФУ от HP, для которых я создал отдельные папки с драйверами и варианты выбора в свитче функции установки сканера.

Список файлов драйвера можно посмотреть в разделах inf-файла с именами [SourceDisksFiles], [RegisterDlls], [WIA_CopyFiles] и далее по файлу. Скриншот по драйверам 3055 и 1536, для наглядности:



Из описанных в этой заметке отрывков кода можно собрать полноценный скрипт автоматической установки МФУ, а если добавить в него немного гуя и snmp, то можно вообще навсегда закрыть для себя тему установки МФУ на новые машины.

На этом на сегодня всё, спасибо за внимание. Если в комментариях подскажут чего не хватает МФУ 3055 для работы при установке первым способом посредством devcon, буду сильно благодарен. Может быть кто-то проделал ту же работу, что и я, но добился больших успехов.

В следующей части, если кто-то кинет таки инвайт в песочницу, покажу как расширить наш сценарий для работы с МФУ Xerox и Kyocera.
Share post
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 35

    0
    А какие порты протокола TCP/IP использует сканер HP?
      0
      TCP 8289
      0
      В том году написал bat-ники для каждого устройства для полуавтоматической установки. Но так и не дошли руки завернуть все в GPO.

      SET PRINTER_IP=192.168.0.242
      SET PRINTER_PORT=IP_%PRINTER_IP%
      SET PRINTER_NAME=HP LaserJet M1530 MFP Series PCL 6
      
      
          REM Add new TCP/IP port
      	cscript //B /NoLogo %windir%\System32\Printing_Admin_Scripts\ru-RU\prnport.vbs -a -h %PRINTER_IP% -r %PRINTER_PORT% -o LPR
      
          REM Install printer driver
      	rundll32 C:\Windows\SysWOW64\printui.dll,PrintUIEntry /if /b "%PRINTER_NAME%" /f "\\db\Soft\Drivers\Printers\HP LaserJet 1536dnf (w7x64)\hpc1530u.inf" /r "%PRINTER_PORT%" /m "%PRINTER_NAME%"
      
          REM Set printer as default
      	rundll32 C:\Windows\SysWOW64\printui.dll,PrintUIEntry /y /n "%PRINTER_NAME%"
      
          REM Install scan soft
      	start "HP Scanner Driver Install" /D "\\db\Soft\Drivers\Printers\HP LaserJet 1536dnf (w7x64)\Installer\" "hpbniscan64.exe" -f "..\\hppasc16.inf" -m "vid_03f0&pid_012a&IP_SCAN" -a "%PRINTER_IP%"
      	%windir%\SysWOW64\msiexec.exe /i "\\db\Soft\Drivers\Printers\HP LaserJet 1536dnf (w7x64)\Setup\Product\Scan_App\HPScanLJM1530.msi" /qn TRANSFORMS="\\db\Soft\Drivers\Printers\HP LaserJet 1536dnf (w7x64)\Setup\Product\Scan_App\HPScanLJM1530_1049.Mst"
      )
      
        +3
        Автор, ты мужик!
        После лютой войны с установкой и драйверами для HP 3055, 3090, M2727 устройств и их не корректной работы я резко сменил климат и перешел на МФУ Xerox с сканированием в сетевую папку. До сих пор не могу нарадоваться как там все просто и удобно.
          +2
          Отличный пример, как за счёт грамотного специалиста в конторе можно закупать технику на класс или на два ниже требуемого :)
          Круто вы погрузились в эту тему, внушает…
          Мне только показалось, что PowerShell тут не особо нужен был. Странно видеть PS, вызывающий внешние VBS скрипты :)
            +1
            Powershell согласен не особо нужен, можно было хоть на cmd написать, но мотивация лично для меня заключалась как раз в том, что бы посмотреть PS на реальном примере. Когда я начинал я PS вообще в глаза не видел и эта задача была первым шагом к моему современному, довольно уверенному, пониманию PS.
              +1
              Кмк, не лучшее использование грамотного специалиста — направлять его делать шоколадки из г… ематогена.
                0
                Если смотреть на это с точки зрения самого специалиста, то это дополнительные очки для его реноме.
                Если смотреть на это с точки зрения работодателя, то это экономия денег на оборудовании за минусом риска, что специалист уйдёт, а следующий с этим гарантированно не разберётся. Правда работодатель скорее всего об этом не догадывается, если только на уровне начальника IT это можно знать.
                С точки зрения производителя оборудования — это форменное безобразие, за которое специалиста надо колесовать :)
              0
              Поясни пожалуйста, есть ли шанс сканировать на 3392 с windows 7 x64?

              И выложи, если не жалко, все это на обменник или торрент.
                0
                С x64 к сожалению нет, как и с 3050, драйвер один и он только x86.
                Под 32 битную ОС настройка сканирования как раз и описана в топике, 3392 подключается точно так же как и 3390, внутри драйвера между ними различия нет.
                  0
                  Попробуйте использовать VueScan
                  Заводил с его помощью древние сканеры на свежих x64 Windows
                    0
                    неудача. не видит оба сетевых сканера (3392 и панасоник).
                  0
                  В свое время столкнулся с такой же проблемой. Действительно, драйверы для этих МФУ под Windows ужасны. Удивительно, но для Linux эти же МФУ имеют отличные драйвера hplip с полной поддержкой всех опций сканирования (податчики и т.п.), что не удивительно, т.к. их пишет сам HP. На терминальном терминальном сервере решил проблему так: на одном из серверов под Linux поставил sane и hplip, подключил к нему все МФУ, на терминал поставил порт xsane под Windows (он уже давно не развивается, быть может, есть что-то новее) и подключил к серверу с sane. Результат — пользователи терминала видят все МФУ в сети с понятными именами (типа «МФУ Бухгалтерия Иванова») и могут с каждого сразу сканировать в PDF.
                    0
                    отличная вещь для такой связки утилита sanetwain вместо xsane. Позволяет нативно использовать сканеры с любым ПО Windows умеющих twain
                      0
                      Когда я пробовал его два года назад, он был еще хуже xsane :( К тому же, как я понял, он не развивается. Вот это интересная штука: github.com/mback2k/wiasane/wiki/Downloads, но я ее не пробовал. Еще интересна идея с вебпорталом через phpSnane, но она не всем подходит.
                        0
                        А что там развивать? Это просто прослойка между sane и twain, по сути своей драйвер. Он просто работает.
                      0
                      Да, это классный способ, но у нас очень много объектов разбросанных по всей стране и совершенно нет возможности поднять на каждом по линукс серверу =(
                        0
                        Понимаю ваш скептицизм, но для работы такой связки вовсе не нужен IBM BladeCenter S Series, вполне хватит например такой коробочки.
                          +1
                          Согласен, но дело тут больше в другом.
                          Надо закупить их большое количество, каждую прошить, потом как-то отправить на объекты, там установить. На двух трех офисах в черте города, я бы так и сделал, будьте уверены. Сам пробовал hplip и остался крайне доволен, сделано не в пример виндовым инсталляторам.
                          Но повторюсь, объектов несколько сотен, раскиданы они по стране и все эти этапы на практике выльются в совершенно неподъемную кучу головняка как с административной стороны, так и со стороны логистики и установки =(
                          Можно конечно привлечь аутсорс и сделать это за один день, но статья расходов на это решения перекроет все плюсы.
                            0
                            идея от гика: виртуальный Linux сервер ради нормальной работы сканеров в окошках %)
                            0
                            Проще и дешевле, в том числе в эксплуатации, для этой задачи использовать raspberry pi. USB Принтсервер и скансервер для 2-х принтеров за цену от 1400 рублей.
                        +1
                        Отличный материал на тему «почему не стоит покупать принтеры и МФУ HP в корпоративной жизни.

                        Я разлюбил их после многократного геммороя в терминалках (переключите галочку… заработало?// на следующий день: Опять не работает? Переключите галочку обратно… заработало?).

                        А окончательно разочаровался, когда официальный купленный картридж виделся как пустой — и оказалось, что это не только у меня.

                        Ну а автору — респект!
                          0
                          Не правда. HP соответствующего класса — замечательная вещь. В данной статье обсуждаются персональные модели и модели для малых групп. Действительно они обрезаны по софту и, как мы видим, драйвера пишутся на от… ись.
                            0
                            Ладно, скорректируем мою фразу до:
                            «Не стоит покупать принтеры и МФУ HP в личной жизни, компаниях малого и среднего размера»

                            PS и какого же размера драйвера у hp соответствующего класса?
                              0
                              Да опять, извините, у вас ерунда получилась. Теперь вы, по сути, утверждаете, что любые другие производители лучше, чем HP, а это не так. Купите Xerox или Samsung для персонального использования и столкнётесь с теми же проблемами. Ну неудобно их эксплуатировать в крупной компании! Не приспособлена техника низшего класса (от любого производителя!) для удаленного управления, удаленной диагностики, сбору статистики. А если это и можно делать, то только путём плясок с бубном, подобно вышеописанному.
                                0
                                Ну, почему же любой.

                                у Xerox таких косяков я не встречал.
                                Киосера работает почти без нареканий

                                Да, супервозможностей у младших моделей нет.
                                Но и суперкосяков, слава Богу, тоже!
                                0
                                А HP LaserJet M175nw к какой категории относится?
                                  0
                                  Прошка, как и родственная 425, которая постоянно любит забывать что она мфу и подключаться приводом с драйверами.
                                0
                                С моей точки зрения не совсем так.
                                У нас есть и профессиональные решения и проблем с ними не меньше, по-моему опыту ставить драйвера от обычных версий (а все прошки имеют домашних двойников) даже удобнее.
                                Но суть даже не в этом, к самим драйверам у меня совершенно нет претензий, видно что писали профессионалы (я про любые драйвера hp), основные мои претензии конкретно к инсталляторам, которые похоже писали совсем другие люди. Инсталляторы полны костылей и сомнительных проверок, например при отключенном uac и соответственно связывании инсталлятор не понимает, что он под админом и не дает ставить даже из учетки с админскими правами; мфу hp ставят две службы Pml Driver HPZ12 и Pml Driver HPZ12, и если на машину уже подключена мфу с более старыми версиями этих либ, то более новый инсталлер просто выдаст ошибку, без даже намека на причину проблемы, при этом если службы удалить руками и поставить драйвер, то оба принтера будут работать. Опять же профессиональные мфу, новые, при первом подключении эмулируют привод с драйвером вместо id принтера, отключается это только с панели принтера.

                                В целом hp отличная техника и профессиональная и сохо, но проблемы с установкой имеются в равной степени у обоих линеек продуктов, опять же по-моему опыту.
                                  0
                                  Ну, как сказать.
                                  Проблема инсталляторов — это часть беды (наверное — большая).
                                  Самая жесть, когда принтер не работает, а этот инсталлятор не желает удаляться из-за каких=то ошибок, а устанавливаться поверх — потому, что уже установлен.

                                  Но и в самом драйвере бывает веселье:
                                  hp color laserjet cp2025, подключён по LAN, установлен «официальным» способом.
                                  С удручающей регулярностью говорил, что кончился тонер.
                                  При подключении его не через созданный своей утилитой порт — а через Standard TCP port работал на отлично

                                  Конечно, может это мне так повезло, что самсунги мне попадались удачные, а пользователи HP насиловали свои компы.
                                  Но ведь даже в этой теме один из первых комментов — «перешёл на Xerox и проблемы ушли».

                                  Кстати, вот что хотел уточнить:
                                  Почему вы не раздаёте драйверы на принтеры групповой политикой?
                                  Клиенты у вас Windows 7, тут даже если контроллер домена на 2003 — можно использовать ADMAX-файлы, содержащие в себе этот раздел.

                                  Со сканерами, конечно, сложнее, официальная тема для этого — WSD — у меня удовлетворительно не заработала да и не на всех МФУ она поддерживается.
                                    0
                                    Минимизируем трафик в домене, каналы совершенно разной ширины и нужны для корпоративного ПО.

                                    Кстати, не удаляется с большой долей вероятности из-за упомянутых служб. Я уже по памяти пишу:

                                    net stop «Pml Driver HPZ12»
                                    net stop «Net Driver HPZ12»
                                    sc delete «Pml Driver HPZ12»
                                    sc delete «Net Driver HPZ12»
                                    del C:\Windows\System32\HPZipm12.dll
                                    del C:\Windows\System32\HPZinw12.dll
                                      0
                                      Спасибо *)

                                      Я тогда переустановил драйвер принудительно, через свойства принтера.
                                    0
                                    > Опять же профессиональные мфу, новые, при первом подключении эмулируют привод с драйвером вместо id принтера, отключается это только с панели принтера.

                                    У них такое не только с «про» техникой, на предыдущем месте работы запарился бегать отключать на несетевых принтерах, когда массово началось, после одного внезапного отключения света.

                                    > В целом hp отличная техника и профессиональная и сохо

                                    Отличная, особенно, когда сканирующий элемент, уже через три месяца после покупки, начинает тереться о площадку, по которой ездит, просто из-за того, что там тонкий пластик, и он то ли от тепла выходящего вместе с напечатанной бумагой, то ли просто со временем, начинает выгибаться внутрь отсека. Да так трётся, что там аж пластик наполовину толщины сдирается.

                                    Отличная, особенно, когда обещают WSD-сканирование, но вот… «пока функция не работает, мы работаем над решением проблемы»… ага, больше чем через полгода решили.

                                    В общем, инженеры у них остались только в софте и видимо они и пишут дрова :(
                                      0
                                      It's allright bro
                                      I feel you
                                0
                                Опубликовал вторую часть: habrahabr.ru/post/242725/

                                Only users with full accounts can post comments. Log in, please.