Главная > Windows > Автоматизация установки ethernet принтеров

Автоматизация установки ethernet принтеров


13 июля 2010. Разместил: dimon
Рассмотрим ситуацию – есть сеть из N компьютеров и K сетевых принтеров подключенных к этой сети по Ethernet протоколу.
Необходимо автоматизировать установку этих принтеров на компьютерах.
Однако объяснять каждому пользователю как создать "Стандартный TCP/IP порт" и откуда потом взять драйверы не есть комильфо.
Автоматизируем установку таких принтеров с помощью специальных bat-файлов.

Допустим, что наш сервер (server) имеет ip 192.168.0.1

1. На сервере делам шару (например - setprn) куда положим эти файлы (батники) и драйверы принтеров.
В этой шаре делаем папку drv, в которой создаем папки по моделям принтеров, с драйверами под эти принтеры.
Выглядеть это будет вот так:
Папки на сервере


2. Теперь нам нужен скрипт prnport.vbs – в XP он прячется в папочке %WINDIR%\System32\ (в семерке в %WINDIR%\System32\Printing_Admin_Scripts\ru-RU\. Кладем его в нашу папку setprn.

3. Теперь создаем батник для каждого принтера.
Например для установки hp 4100 bat-ник будет выглядеть вот так:

echo %username% Ъte% %time% "HP 4100" %computername%>> \\192.168.0.1\setprn\log_printer.txt

rem создание порта или обновление порта
cscript \\192.168.0.1\setprn\prnport.vbs -a -r IP_192.168.0.200-h 192.168.0.200 -o raw -n 9100

rem добавим принтер
rundll32 printui.dll,PrintUIEntry /if /b " HP 4100" /f \\192.168.0.1\setprn\drv\hp4100\hp4100p6.inf/r "IP_192.168.0.200" /m " HP LaserJet 4100 PCL 6"


Рассмотрим команды этого батника:

echo %username% Ъte% %time% "HP 4100" %computername%>> \\192.168.0.1\setprn\log_printer.txt - записывает в лог-файл кто, когда и какой принтер устанавливал. Должны быть права на запись в этот файл у тех пользователей которые будут устанавливать принтеры.

cscript \\192.168.0.1\setprn\prnport.vbs -a -r IP_192.168.0.200-h 192.168.0.200 -o raw -n 9100 – этой командой создаем на компьютере "Стандартный TCP/IP порт" с адресом 192.168.0.200 (адрес принтера) и именем IP_192.168.0.200

rundll32 printui.dll,PrintUIEntry /if /b "HP 4100" /f \\192.168.0.1\setprn\drv\hp4100\ hp4100p6.inf/r "IP_192.168.0.200" /m " HP LaserJet 4100 PCL 6" – добавляем принтер на компьютер.
Параметры:
/b "HP 4100" – имя принтера – так он будет отображаться на компьютере,
/f \\192.168.0.1\setprn\drv\hp4100\hp4100p6.inf – инф-файл драйвера принтера
/r "IP_192.168.0.200" – порт принтера. Указываем созданный предыдущей командой.
/m " HP LaserJet 4100 PCL 6" - имя модели драйвера принтера. Подсматриваем в файле hp4100p6.inf

Справку по PrintUIEntry можно получить, выполнив в командной строке команду rundll32 printui.dll,PrintUIEntry /?



Недостаток метода – для выполнения батника требуются админские права на компьютере для пользователя, под которым будет устанавливаться принтер.
Если же вы будете устанавливать путем удаленного запуска батника, например, с помощью DameWare или psexec, то этот недостаток будет завуалирован.

PS: Возможно это и не оптимальный вариант - предложите свой.

Вернуться назад