Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Сетевые технологии (http://forum.oszone.net/forumdisplay.php?f=31)
-   -   настройка сканера мфу m1536 (http://forum.oszone.net/showthread.php?t=316916)

haramageddon 18-07-2016 21:01 2651988

настройка сканера мфу m1536
 
Добрый вечер, форумчане!
Нашел на просторах скрипт для подключения сканера для мфу m1536, обходя стороной длительный и совершенно ненужный процесс подключения принтера через родные дрова. Собственно сам скрипт рабочий, проверено.
hpbniscan64.exe -f "hppasc16.inf" -m "vid_03f0&pid_012a&IP_SCAN" -a "Х.Х.Х.Х" последнее сетевой адрес, соответственно.
А теперь вопрос, как удалить это чудо? Как можно почистить запрос на выбор сканера в родной утилите сканирования, так как там имеются два запроса типа HP Scan #1 и HP Scan #2 (подозреваю, что один из них usb, второй ip), как разобрать что из них что, и можно ли назначить их как то иначе?
Есть необходимость настроить на другой сканер, и делать при этом уже третью запись не хотелось бы. Удаление и чистка реестра по поиску ip адреса - результатов не дала.
Прошу помощи здесь, так как там, где скрипт был найден, апдейтов давно уже не было.

grand_dizel 21-11-2017 21:24 2779312

решил я воскресить эту тему вдруг кто тоже на неё наткнётся)

в общем по вопросу есть ответ :)
я сканеры удаляю обычно в диспетчере устройств с удалением драйвера от него. таким образом он пропадает в реестре и перестаёт отображаться в программе сканирования.

либо в ручную удалить и искать в местах
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\_ITEM_\DeviceData]

и

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\IMAGE\_ITEM_\Device Parameters]

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

hpbniscan64.exe -f "hppasc_lj400.inf" -m "VID_03F0&PID_082A&IP_SCAN" -h "PRINT_NAME" -a "192.168.0.30" -e ac9b4533dd68 -n 1

DJ Mogarych 22-11-2017 11:21 2779407

Цитата:

Цитата haramageddon
длительный и совершенно ненужный процесс подключения принтера через родные дрова »

Я полагаю, что по сравнению с альтернативным способом это и быстрее, и легче.

haramageddon 22-11-2017 19:16 2779518

Цитата:

Цитата grand_dizel
либо в ручную удалить и искать в местах
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\_ITEM_\DeviceData]
и
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\IMAGE\_ITEM_\Device Parameters] »

За отклик спасибо. Надо бы затестить.
Теперь еще бы по HP 425M так же получить картину.
Цитата:

Цитата grand_dizel
hpbniscan64.exe -f "hppasc_lj400.inf" -m "VID_03F0&PID_082A&IP_SCAN" -h "PRINT_NAME" -a "192.168.0.30" -e ac9b4533dd68 -n 1 »

из этого можно сварганить рабочий скрипт или это оно примерно и есть, раз 400?

grand_dizel 24-11-2017 23:00 2780008

хммм не думал что кто то посмотрит эту тему)) тем более столь старую))
вообще по этой технологии я себе установил кучу сканеров принтеров

моделей
Color LaserJet MFP M476dw
HP LaserJet 200 colorMFP M276n
HP LaserJet 300 colorMFP M375nw
HP LaserJet 400 MFP M425dn
HP LaserJet 500 color MFP M575
HP LaserJet 500 MFP M525
HP LaserJet color MFP M570dn
HP LaserJet M1536dnf MFP
HP LaserJet M9050 MFP
HP LaserJet Pro CM1415fnw color MFP
HP LaserJet Pro M1132 MFP
HP LaserJet Pro M1212nf MFP
HP LaserJet Pro MFP M521dn
HP LaserJet Ultra M134fn MFP
HP Officejet 7610 Wide Format

а по ключам в реестре так там все они и оказываются у каждого принтера своя папка 000 потом 001 если их же ещё раз становить,
то список продолжается если удалить то место освобождается и при установке нового на него встаёт другой :)

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

по моим задумка при запуске моей программки я в списке выбираю нужное название и получаю установку нужного сканера с нужным IP адресом и тп
я выдрал нужные файлы из драйверов для установки сканера этих принтеров и получил папку весом 51.1 мегабайта
для сравнения разницы... полный установочный распакованный пакет для всех этих принтеров весит 4.07 гига

что получаем в итоге папку с драйверами для сканеров 50 мегабайт +
папку с универсальным драйвером для принтеров 32.8 мегабайта(но хлам я в универсалке ещё не чистил)

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

haramageddon 25-11-2017 11:52 2780049

Цитата:

Цитата grand_dizel
не думал что кто то посмотрит эту тему »

Когда подписан на свою же тему, в которой никто не давал ответа больше года, как тут не посмотреть.

В своей практике не часто приходится сталкиваться с этим, но на готовый скриптик и базу драйверов я бы посмотрел, ибо мало что понимаю в написании скриптов, поэтому и спрашивал в 2016, как избавиться от лишних записей, при том, что в самом реестре я чистил записи, но это не помогло.
Так к чему я это? Не поделитесь результатами своих плодов? ;)

grand_dizel 26-11-2017 17:09 2780289

Вложений: 1
ну вот например у меня этот кусок кода производит установку сканера

Для правильной работы скрипта должна быть папка info с файлом hpbniscan64.exe
и папка ALL с файлами типа hppasc_lj400.inf и прочими dll (их можно взять из полного пакета драйвера нужного принтера)
Код:

#RequireAdmin

$ScanINF = "hppasc_lj400.inf"
$ScanVID = "VID_03F0&PID_082A&IP_SCAN"
$ScanName = "PRINT059"
$ScanPort_IP = "192.168.0.10"
$ScanMAC = ""


        $sShortName_info = FileGetShortName(@ScriptDir & '\info\')
        $sShortName_all = FileGetShortName(@ScriptDir & '\ALL\')
        $answer = ($sShortName_info & 'hpbniscan64.exe -f "' & $sShortName_all & $ScanINF & '" -m "' & $ScanVID & '" -h "' & $ScanName & '" -a "' & $ScanPort_IP & '" -e "' & $ScanMAC & '" -n 1')
        $answer_1 = (@ComSpec & ' /c ' & $answer)
        MsgBox(64, 'Результат_0', $answer_1)
        $answer_2 = RunWait($answer_1, "", @SW_HIDE)

        If $answer_2 = 0 Then
                MsgBox(64, 'Результат', "Сканер установлен", 5)
                Global $Scan_install = 0
                MsgBox(64, 'Результат', "Для корректной работы нужна перезагрузка компьюетра", 5)
                ShellExecute('https://www.microsoft.com/ru-ru/store/p/%D0%A1%D0%BA%D0%B0%D0%BD%D0%B5%D1%80-windows/9wzdncrfj3pv')

        Else
                MsgBox(64, 'Результат1', "ОШИБКА")
                MsgBox(64, 'Результат2', $answer)
                MsgBox(64, 'Результат3', $answer_2)
        EndIf

переменные
$ScanINF = "hppasc_lj400.inf"
$ScanVID = "VID_03F0&PID_082A&IP_SCAN"
$ScanName = "PRINT059"
$ScanPort_IP = "192.168.0.10"
$ScanMAC = ""

тут используются в качестве примера, в полной версии я сделал папку с файлами,
а сам скрипт имеет графический интерфейс
http://forum.oszone.net/attachment.p...1&d=1511705294

grand_dizel 26-11-2017 17:12 2780290

Вложений: 1
база драйверов это просто папка с кусками от самих драйверов
http://forum.oszone.net/attachment.p...1&d=1511705499

grand_dizel 26-11-2017 18:42 2780308

Вложений: 2
с удалением не особо удалось разобраться, но по крайней мере через утилиту devconx64.exe удаляется
до этого долго пытался разобраться с devcon.exe всё время находило устройство, а удалить не могло...


это отключит указанное устройство (но отключать не обязательно)
Код:

devconx64.exe /r disable "VID_03F0&PID_082A&IP_SCAN"
это сразу его удалит
Код:

devconx64.exe /r remove "VID_03F0&PID_082A&IP_SCAN"
ну базу VID -ов я себе уже изобрёл осталось понять как эту удалялку приспособить для удаления только нужных сканеров
точнее как их правильно отличать в системе? :)

Ну вот например я установил 2 сканера себе на комп, они оба одинаковые следовательно имеют одинаковый VID, да и в диспетчере устройств называются одинаково

HP LJ400 M425 Scan
HP LJ400 M425 Scan

и если использовать
devconx64.exe /r remove "VID_03F0&PID_142A&IP_SCAN"
ROOT\IMAGE\0000 : Removed
ROOT\IMAGE\0001 : Removed
2 device(s) were removed.

то получим удаление сразу двух устройств в системе :))

хотя это и не страшно моя установка легко установит нужные))


о нашёл способ удаления всех сканеров в системе независимо от того что они могут быть разными)))
VID всех моих сканеров заканчивается на IP_SCAN
следовательно *IP_SCAN будет действовать на все устройства в которых есть VID заканчивающийся на IP_SCAN

таким образом получаем команду для отключения всех сканеров
Код:

devconx64.exe /r disable *IP_SCAN
ну или для удаления
Код:

devconx64.exe /r remove *IP_SCAN


п.с. если у тебя одно из устройство всё таки USB то вероятнее всего удалятся только сетевые :)
а если посмотреть VID USB сканера то можно удалить только его не трогая нужные :)

запилил кнопочку удаления
и заодно на радостях красоты навёл :)

Файл 149665


Время: 21:00.

Время: 21:00.
© OSzone.net 2001-