Для извлечения драйверов из системы можно использовать специальные программы, но зачастую не все из них отображают полный список доступных в системе устройств.
Со списком таких программ мы вы можете ознакомиться на другом сайте,
а в этой заметке давайте посмотрим на расширенный набор действий с драйверами принтеров, такие как добавление\удаление и установка драйвера \удаление драйвера принтера.
Переходим в оснастку Управление печатью ( printmanagement.msc )
- Смотрим где находится файл драйвера с расширением .inf, переходим к нему, и копируем все содержимое папки через контекстное меню в любую временную папку
- Добавляем драйвер в репозиторий
Так же добавить драйвер в репозиторий можно через Powershell:
$DriverPath = C:\Temp\Xerox_Global_Print_Driver_PCL6\x2univx.inf PNPUtil.exe -i -a $DriverPath
Удобно будет расположить набор драйверов на сетевом диске и добавлять их при необходимости в репозиторий каждого компьютера скриптом. Желательно удаленно, используя PSexec. Такой скрипт рассмотрим в следующей заметке.
- Теперь можно провести установку принтера, для которого драйвер будет автоматически установлен из репозитория.
Установку можно произвести любыми доступными средствами, но я привел в пример именно установку через оснастку Управление печатью, т.к. в ней присутствует дополнительный шаг с выбором драйвера принтера из списка ранее добавленных драйверов.
При необходимости то же самое можно выполнить при помощи Powershell:
$name = 'Xerox Workcentre 3325' $ip = '192.168.X.X' $DriverName = 'Xerox Global Print Driver PCL6' $DriverPath = 'C:\Windows\System32\DriverStore\FileRepository\sxr3m.inf_amd64_30632c60582e2c69\sxr3m.inf' rundll32 printui.dll,PrintUIEntry /u /if /b $name /f $DriverPath /r $ip /m $DriverName
Удаление принтера вместе с драйвером
Сначала необходимо удалить принтер любым доступным способом.
А вот при удалении драйвера может возникнуть ошибка, из-за того что драйвер в настоящий момент задействован. Что бы ее решить нужно отключить службу «Диспетчер печати» и выполнить повторное удаление драйвера
sc \\server stop spooler & sc \\server start spooler