Рассмотрим ситуацию – есть сеть из 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: Возможно это и не оптимальный вариант - предложите свой.
Группа: Журналисты
Регистрация: 25.08.2008
Статус: