Управление принтерами в Windows через командную строку

Компания Microsoft предоставляет утилиту, которая позволяет добавлять принтеры из командной строки, однако, утилита доступна лишь производителям аппаратного обеспечения. Еще один метод заключается в манипулировании файлом библиотеки PRINTUI.DLL:

rundll32 printui.dll,PrintUIEntry [параметры]

Например, для добавления принтера HP DeskJet D1663, подключенного к порту LPT1 в Windows, воспользуйтесь следующей командой:

rundll32 printui.dll,PrintUIEntry /if /b "HP DeskJet D1663 " /f %windir%\inf\ntprint.inf /r "lpt1:" /m "HP DeskJet D1663 "

Также доступны и различные параметры:

·  Запуск свойств сервера:

rundll32 printui.dll,PrintUIEntry /s /t1 /n\\machine

·  Запуск свойств принтера:

rundll32 printui.dll,PrintUIEntry /p /n\\machine\printer

·  Локальный запуск мастера установки принтеров:

rundll32 printui.dll,PrintUIEntry /il

·  Запуск мастера установки принтеров на компьютере \\machine:

rundll32 printui.dll,PrintUIEntry /il /c\\machine

·  Запуск показа очереди:

rundll32 printui.dll,PrintUIEntry /o /n\\machine\printer

·  Запуск установки с помощью информационного файла:

rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f %windir%\inf\ntprint.inf /r "lpt1:" /m "AccuSet"

·  Запуск мастера установки принтеров с помощью информационного файла:

rundll32 printui.dll,PrintUIEntry /ii /f %windir%\inf\ntprint.inf

·  Добавление подключений компьютеров к принтеру:

rundll32 printui.dll,PrintUIEntry /ga /c\\machine /n\\machine\printer /j"LanMan Print Services"

·  Удаление подключений компьютеров к принтеру:

rundll32 printui.dll,PrintUIEntry /gd /c\\machine /n\\machine\printer

·  Перечисление подключений компьютеров к принтеру:

rundll32 printui.dll,PrintUIEntry /ge /c\\machine

·  Добавление драйвера принтера с помощью информационного файла:

rundll32 printui.dll,PrintUIEntry /ia /c\\machine /m "AGFA-AccuSet" /h "Intel" /v "Windows XP" /f %windir%\inf\ntprint.inf

·  Добавить драйвер принтера:

rundll32 printui.dll,PrintUIEntry /ia /K /c\\machine /m "AGFA-AccuSet" /h "Windows x86" /v 3

·  Удаление драйвера принтера:

rundll32 printui.dll,PrintUIEntry /dd /c\\machine /m "AGFA-AccuSet" /h "Intel" /v "Windows XP"

·  Удалить драйвер принтера:

rundll32 printui.dll,PrintUIEntry /dd /K /c\\machine /m "AGFA-AccuSet" /h "Windows x86" /v 3

·  Назначение принтера используемым по умолчанию:

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,PrintUIEntry /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

Еще одной возможностью является использование команды START:

start \\print_server\print_name

При первом запуске команды система запросит необходимость в установке принтера. Таким образом, в этом процессе отсутствуют программы настройки и вопросы, на которые приходиться отвечать. Драйвер загружается непосредственно с указанного сервера печати.