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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 7 (http://forum.oszone.net/forumdisplay.php?f=95)
-   -   [решено] Удаление драйвера/устройства из системы скриптом (http://forum.oszone.net/showthread.php?t=339981)

nickdsl 04-04-2019 09:04 2866533

Удаление драйвера/устройства из системы скриптом
 
Всем доброго времени суток.
Задача: автоматизировать управление оргтехникой на предприятии
Проблемные устройства: HP LJ1536DNF
Суть проблемы: развертывание сканеров на ПК пользователей, а также обновление конфигурации (удаление/повторное развертывание).

Если с развертыванием я хоть как то справился за счет подобной статьи: https://nashadmin.ru/obslujivanie-or...na-windows-xp/ (что собственно уже довольно неплохо!), но как быть с тем чтобы удалить устройство без подключения по удаленке и беготни до рабочей станции пользователя - вопрос.

К развертыванию я пришел через отслеживание действий установщика HP через программу ProcessMonitor от microsoft и там заметил, что запускается один хитрый бинарник входящий в установочный пакет.
Пробовал провернуть подобную авантюру при процессе удаления устройства. Все что смог найти:
svhost.exe работающий от имени пользователя "система" инициирует процесс DrvInst.exe и с помощью него как то удаляет устройство.
В любом из случаев пользуюсь ли я удалением через HP Installer или через диспетчер устройств всегда svchost.exe порождает процесс DrvInst.exe с такими параметрами командной строки: DrvInst.exe "5" "0" "C:\Windows\System32\DriverStore\FileRepository\hppasc_lj1530.inf_amd64_neutral_0481e7ad62037b2c\hpp asc_lj1530.inf" "0" "42c050f5a" "0000000000000608" "WinSta0\Default"

Собственно я понятия не имею как и чем взаимодействовать с svchost.exe, чтобы запускались подобные процессы.
Если ли у кого либо из Вас идеи как это (удаление устройств и драйверов) реализовать?

Спасибо!

nickdsl 04-04-2019 10:01 2866541

Как зачастую бывает, стоит только написать топик на форум у самого что то да и получится.

Решение через утилиту devcon.exe
Ранее я его встречал и скачивал devcon отдельно, только утилита молчала как партизан при попытке вызова и ничего толком не выходило.
Теперь же я скачал полностью Development Kit и извлек оттуда данную утилиту.
Скачивание и извлечение делал по советам отсюда: https://superuser.com/questions/4290...a-command-line

Утилиту запускал так: .\devcon /r remove "vid_03f0&pid_012a&IP_SCAN"
Где значение в кавычках это ID оборудования взятое из диспетчера устройств в свойствах любого из однотипных сканеров HP.

Собственно решение такое:
При каждом запуске скрипта (логон) сначала будет запускаться удаление всего и вся, а затем добавление актуальных принтеров.
По-умолчанию принтеры называются одинаково HP Scan Series (и + #2, #3 и так далее если устройств 2,3 и более соответственно).
Это можно поправить поменяв в свойствах поле FriendlyName. Еще не пробовал делать это в скрипте.
Когда получу полное решение опубликую следующим постом.

nickdsl 08-04-2019 09:45 2867022

ЗДЕСЬ zip архив с моего Dropbox т.к. он превышает 1MiB по-другому не вижу возможным поделиться им тут

Описал работу скрипта в его теле настолько, насколько счел это возможным и нужным. Считаю, что там все довольно подробно описано с пояснением почему воспользовался определенными вещами.
Единственная проблема которая сейчас осталась: заставить запускаться данный скрипт через GPO на клиентских ПК под Win10 в то время когда сам контроллер домена W2K8R2.

nickdsl 08-04-2019 13:09 2867052

Под win10 тоже начало работать.
1) Нужно сделать так как написано в данной статье
2) Нужно установить последние обновления на Win10

Возможно достаточно было только 2) пункта. Я этого не проверил.
Скрипт теперь успешно работает как под Win7, так и под Win10 через GPO с WinSrv2k8r2


Время: 15:39.

Время: 15:39.
© OSzone.net 2001-