Установка принтера из командной строки на системах Windows 2000


5.00 (1)

Установка принтера из командной строки на системах Windows 2000

rundll32 printui.dll,PrintUIEntry /in /n \serverprinter
Использование: rundll32 printui.dll,PrintUIEntry [параметры] [@командный файл]
/a[file] имя двоичного файла
/b[имя] основное имя принтера
/c [имя] UNC-имя компьютера, где выполняется команда
/dl удаление локального принтера
/dn удаление подключения к сетевому принтеру
/dd удаление драйвера принтера
/e вывод параметров настройки печати
/f[file] или информационный файл, или выходной файл
/ga добавление подключений компьютеров к принтеру
/ge перечисление подключений компьютеров к принтеру
/gd удаление подключений компьютеров к принтеру
/h[arch] Архитектура драйвера Alpha | Intel | Mips | PowerPC
/ia установка драйвера принтера с помощью информационного файла
/id установка драйвера принтера с помощью мастера установки драйверов принтеров
/if установка принтера с помощью информационного файла
/ii установка принтера с помощью мастера установки принтеров и информационного файла
/il установка принтера с помощью мастера установки принтеров
/in добавление подключения к принтеру
/j[provider] имя системы печати
/k печать пробной страницы на выбранном принтере, не может использоваться с другими командами установки принтера
/l[path] путь к исходному размещению драйвера принтера
/m[model] имя модели драйвера принтера
/n[name] имя принтера
/o показать очередь заданий на печать
/p отображение свойств принтера
/q скрытый режим без вывода сообщений об ошибках
/r[port] имя порта
/s показать свойства сервера
/Ss запись параметров принтера в файл
/Sr чтение параметров принтера из файла
Флаги при записи или чтении параметров принтера, помещаемые в конце команды:
2 PRINTER_INFO_2
7 PRINTER_INFO_7
c профиль цвета
d PrinterData
s дескриптор безопасности
g глобальный DevMode
m минимальный набор параметров
u пользовательский DevMode
r разрешить конфликты имен
f принудительное использование имени
p сопоставить порт
/u использовать существующий драйвер принтера если он установлен
/t[#] номер начальной страницы (с нуля)
/v[version] версия драйвера для Windows 95 или 98 | Windows NT 3.1 | Windows NT 3.5 или 3.51 | Windows NT 3.51 | Windows NT 4.0 | Windows NT 4.0 или 2000 | Windows 2000
/w запрос драйвера у пользователя, если драйвер не найден в inf-файле
/y назначить принтер используемым по умолчанию
/Xg получить параметры принтера
/Xs установить параметры принтера
/z не разрешать автоматический общий доступ к этому принтеру
/Z общий доступ к принтеру, используется только вместе с /if
/? вывод справки
@[file] файл аргументов командной строки
 

Примеры:
Запуск свойств сервера:
rundll32 printui.dll,PrintUIEntry /s /t1 /n\machine
Запуск свойств принтера:
rundll32 printui.dll,PrintUIEntry /p /n\machineprinter
Локальный запуск мастера установки принтеров:
rundll32 printui.dll,PrintUIEntry /il
Запуск мастера установки принтеров на компьютере \machine:
rundll32 printui.dll,PrintUIEntry /il /c\machine
Запуск показа очереди:
rundll32 printui.dll,PrintUIEntry /o /n\machineprinter
Запуск установки с помощью информационного файла:
rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f %windir%inf tprint.inf /r "lpt1:" /m "AGFA-AccuSet v52.3"
Запуск мастера установки принтеров с помощью информационного файла:
rundll32 printui.dll,PrintUIEntry /ii /f %windir%inf tprint.inf
Добавление подключений компьютеров к принтеру:
rundll32 printui.dll,PrintUIEntry /ga /c\machine /n\machineprinter /j"LanMan Print Services"
Удаление подключений компьютеров к принтеру:
rundll32 printui.dll,PrintUIEntry /gd /c\machine /n\machineprinter
Перечисление подключений компьютеров к принтеру:
rundll32 printui.dll,PrintUIEntry /ge /c\machine
Добавление драйвера принтера с помощью информационного файла:
rundll32 printui.dll,PrintUIEntry /ia /c\machine /m "AGFA-AccuSet v52.3" /h "Intel" /v "Windows 2000" /f %windir%inf tprint.inf
Удаление драйвера принтера:
rundll32 printui.dll,PrintUIEntry /dd /c\machine /m "AGFA-AccuSet v52.3" /h "Intel" /v "Windows 2000"
Назначение принтера используемым по умолчанию:
rundll32 printui.dll,PrintUIEntry /y /n "printer"
Указание описания принтера:
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" comment "My Cool Printer"
Получение параметров принтера:
rundll32 printui.dll,PrintUIEntry /Xg /n "printer"
Получение параметров принтера и запись их в файл:
rundll32 printui.dll,PrintUIEntry /f "results.txt" /Xg /n "printer"
Справка об установке параметров принтера:
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ?
Запись всех параметров принтера в файл:
rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat"
Чтение всех параметров принтера из файла:
rundll32 printui.dll,PrintUI /Sr /n "printer" /a "file.dat"
Запись сведений принтера уровня 2 в файл:
rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" 2
Восстановление дескриптора безопасности из файла:
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" s
Восстановление глобального devmode и данных принтера из файла:
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" g d
Восстановление минимального набора параметров из файла и разрешение имени порта:
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" m p

 

----------------------------

 

На практике - установка сетевого принтера из командной строки


 Задача: установить принтер HP Laserjet 4015 dn на несколько компьютеров.

 Дано:

IP-Адрес принтера - 10.50.120.194. 

Драйвер, скачанный с hp.ru

Все целевые компьютеры под управлением Windows XP, находятся в домене, у нас есть админские права на них.

Утилита DameWare для управления удалёнными компьютерами.

 

Решение:

Пишем простой пакетный файл*, который создаст IP-порт на целевых компьютерах (необходим для подключения принтера) и установит драйвер.

Для создания порта принтера есть специальный скрипт в операцонных системах семейства Windows - prnport.vbs, используем его в пакетном файле:

%systemroot%system32cscript.exe %systemroot%system32prnport.vbs -a -r IP_10.50.120.194 -h 10.50.120.194 -o RAW -n 9100

%systemroot% - системная переменная, указывающая на каталог, в который установлена операционная система (обычно это c:Windows)

-a - указывает, что мы добавляем порт

-r - имя порта (тут можно задать любое имя, главное, чтоб оно не повторяло уже заданные имена портов, иначе команда их перенастроит)

-h - IP-адрес порта

-o - задаёт режим порта

-n - порт, через который идёт подключение

Теперь нам необходимо запустить установку драйвера принтера. Запуск осуществляется через хост-процесс rundll32.exe, которой передаётся имя библиотеки printui.dll и, через запятую, точка входа**  PrintUIEntry . Далее задаются параметры самой установки.

%systemroot%system32 undll32.exe printui.dll,PrintUIEntry /if /b "HP LaserJet P4010_P4510 Series PCL 6" /f \kbnp-1304scanhpdrvhpc4015c.inf /r "IP_10.50.120.194" /m "HP LaserJet P4010_P4510 Series PCL 6"

/if - этот ключ указывает на то, что мы производим установку с помощью .inf-файла (в моём случае это hpc4015c.inf)

/b - указывает, как будет называться принтер в системе, я, не отличаясь оригинальностью, поставил имя драйвера

/f - задаёт полный путь к установочному файлу, в моём случае это общедоступная папка на моём компьютере.

/r - имя порта, к которому подключается принтер 

/m - имя драйвера принтера, тут надо обязательно знать его полное название. Порой в одном наборе может быть несколько драйверов, ошибочное же название приведёт к ошибке при выполнении команды.

Cформировав пакетный файл (я его назвал add_printer.cmd), копируем его в общедоступную папку. Далее через утилиту DameWare заходим на компьютеры пользователей с помощью удалённой консоли с загрузкой профиля (во-первых для установки драйвера нужны права администратора, во-вторых чтобы не мешать работе пользователя) и набираем \kbnp-1304scanadd_printer.cmd

С помощью утилиты Dameware можно получить список принтеров, установленных на удалённом компьютере, это поможет проконтроллировать установку (принтер появится в списке, после завершения работы пакетного файла).

 

*Пакетный файл - файл с расширением .cmd (или .bat ), содержащий последовательность консольных команд. Одна строчка - одна команда.

**Точка входа в библиотеку - динамические подключаемые библиотеки (.dll) в отличии от стандартных исполняемых файлов (.exe) не имеют функции основного цикла программы, а представляют собой некий сборник подпрограмм. Точка входа - это имя той подпрограммы, которую необходимо запустить в библиотеке.

 

 

-----------------------------


2013-09-08 03:31:05 : Статьи : Информационная безопасность : Windows . Вам понравилось?

Имя
Введите код с картинки