Управление принтерами из командной строки в Windows 10 / 8.1

Сегодня поговорим о возможностях управления принтерами и их драйверами из командной строки, которые можно использовать в Windows 10 / 8.1 и Windows Server 2012 R2 /2016. В этой статье мы рассмотрим, как с помощью простых команд можно установить в системе новый локальный или сетевой принтер, драйвер печати, создать порт печати, отправить на печать тестовую страницу, удалить драйвер или принтер. Вы можете использовать командную строку в различных сценариях автоматической установки принтеров в заданиях SCCM, логон-скриптах групповых политик или на серверах, работающих в режиме Server Core.

Готовые VBS скрипты для управления принтерами в Windows

Для управления принтерами Microsoft разработала несколько vbs скриптов, позволяющих управлять принтерами и очередями печати, устанавливать и удалять драйвера принтеров и т.д.

Эти скрипты присутствуют во всех версиях Windows (начиная с Vista и Windows Server 2008) и находятся в каталоге C :Windows System 32Printing _Admin _Scripts en -US .

  1. Вместо каталога en-US может быть другой каталог, соответствующий языку установленной системы. Для русской версии Windows это будет каталог ru-RU (полный путь C:WindowsSystem32Printing_Admin_Scriptsru-RU);
  2. В Windows XP и Windows Server 2003 эти vbs скрипты хранятся в каталоге C:WINDOWSsystem32.

windows 8 vbs скрипты для управления принетрами и заданиями из командной строки

В каталоге находятся следующие vbs скрипты:

  • Prncnfg .vbs – скрипт для отображения информации о настройках принтера;
  • Prndrvr .vbs – управление драйверами принтеров (установка/удаление драйвера);
  • Prnjobs .vbs – управления заданиями печати;
  • Prnmngr .vbs – управление принтерами (в т.ч. создание и удаление принтера в системе);
  • Prnport .vbs – управление подключением к удаленному принтеру по TCP/IP порту;
  • Prnqctl .vbs – управление выполнением задания на печать;
  • Pubprn .vbs – управление публикацией принтеров в Active Directory.
Примечание . Одним из широко известных способов управления принтерами в системах Windows различных версий является хост-процесс rundll 32.exe , которому передается имя библиотеки printui.dll и точка входа в нее (PrintUIEntry). Функционала команды rundll 32 printui .dll ,PrintUIEntry достаточен для выполнения базовых операций с принтерами и полностью поддерживается Microsoft, однако использование указанных vbs скриптов с точки зрения удобства администратора все таки предпочтительнее.

Рассмотрим типовые сценарии использования этих vbs скриптов.

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

Предположим, вам необходимо установить на компьютере пользователя универсальный драйвер печати HP (HP Universal Printer Driver). Скачайте соответствующую версию драйвера с сайта производителя и распакуйте его в произвольный каталог (например, C:drvHP Universal Print Driver).

Права на установки и настройку локальных принтеров есть у членов локальных Administrators (Администраторы), Print Ope­rators (Операторы печати) или Server Operators (Операторы сервера).

Установим драйвер принтера командой:
cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprndrvr.vbs" -a -m "HP Universal Printing PCL 6" -i "C:drvHP Universal Print Driverhpcu160u.inf"
prndrvr.vbs скрипт установки драйвера печати принтера

Рассмотрим параметры команды:

– добавить драйвер принтера;

-m "HP Universal Printing PCL 6" – имя драйвера принтера;

-i “путь” – полный путь к inf файлу драйвера.

После установки драйвера печати, он появится в свойствах сервера печати (Control PanelHardware and SoundDevices and Printers ->Print Server Properties).

hp universal driver - универсальный драйвер печати HP

Примечание . Если драйвер принтера несовместимый, его можно установить вручную .

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

С помощью следующей команды можно установить новый принтер с именем HP5525, воспользовавшись ранее установленным драйвером печати HP Universal Printing PCL 6:

cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnmngr.vbs" -a -p "HP5525" -m "HP Universal Printing PCL 6" -r "lpt1:"

prnmngr.vbs установка принтера hp из командной строки

-a – устанавливается новый локальный принтер;

-p "HP5525" – отображаемое имя принтера;

-m "HP Universal Printing PCL 6" – используемый драйвер печати;

-r "lpt1:" – имя используемого локального порта печати. В этом случае печать должна осуществляться через LPT порт. Здесь может быть указан параллельный порт (LPT1:, LPT2:), последовательный (СОМ1:, COM2: — перед установкой убедитесь что данный COM порт не используется другим устройством) или USB-порт (USB001 и т.д.).

Управление принтером по-умолчанию

Из командной строки вы можете выбрать какой принтер должен использоваться при печати по умолчанию. С помощью следующей команды можно вывести список всех доступных принтеров:

cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnmngr.vbs" –l

Текущий принтер по-умолчанию можно получить так:

cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnmngr.vbs" –g

prnmngr.vbs установить принтер по умолчанию из командной строки

Принтер по умолчанию HP Universal Printing PCL 6

Чтобы выбрать другой принтер для печати по умолчаню, выполните:

cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnmngr.vbs" -t –р "HP5525"

Создаем TCP/IP порт для сетевого принтера

Если вы хотите подключить сетевой принтер, необходимо сначала создать для него сетевой порт (допустим ip адрес принтера 192.168.10.26):
cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USPrnport.vbs" -a -r IP_192.168.10.26 -h 192.168.10.26 -o raw -n 9100
-r IP_192.168.10.26 – имя сетевого порта;

-h 192.168.10.26 – IP адрес устройства;

-o raw – тип порта (raw или lpr);

-n 9100 — номер TCP порта устройства (обычно 9100).

А потом установим в системе новый сетевой принтер:
cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnmngr.vbs" -a -p "HP5525" -m "HP Universal Printing PCL 6" -r "IP_192.168.10.26"
После окончания работы скрипта в системе появится новый принтер с именем HP5525

Новый принтер в системе windows8

Отправка на печать тестовой страницы

Чтобы отправить тестовую страницу на печать на созданном ранее принтере, выполните:
cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnqctl.vbs” -e -p "HP5525"

Управление очередями печати из командной строки

С помощью скрипта prnjobs.vbs вы можете просматривать задания печати в очередях. Чтобы вывести все задания печати для всех локальных принетров, выполните команду:
cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnjobs.vbs” –l

Чтобы вывести задания на конкретном принтере, нужно указать его имя:

cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnjobs.vbs” –l –p HP5525

Для очистки очереди печати, на одном принтере выполните команду:

cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnjobs.vbs” –x –p HP5525

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

cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnjobs.vbs” –x

Включить общий доступ к принтеру из командной строки

Все новые принтеры, которое вы установили в Windows из командной строки являются локальными. Вы можете предоставить к ним общий доступ другим пользователей из графического интерфейса Windows (см. статью ). Также вы можете открыть общий доступ к принетру из командной строки. Например, вы хотите дать доступ к своему общему принтеру HP5525, опубликовав его под именем HP5525_Shared. Используйте команду:

script "C:WindowsSystem32Printing_Admin_Scriptsen-USprncnfg.vbs” -t  -p  HP5525 -h "HP5525_Shared" +shared

Чтобы отключить общий доступ к принтеру, выполните:

script "C:WindowsSystem32Printing_Admin_Scriptsen-USprncnfg.vbs” -t -p "HP5525" -shared

Аналогично вы можете опубликовать принтер в Active Directory:

script "C:WindowsSystem32Printing_Admin_Scriptsen-USprncnfg.vbs” -t  -p  HP5525  +published

Чтобы отменить публикацию в AD для принтера, используйте аргумент «-published».

Как подключить сетевой принтер из командной строки

Чтобы подключить сетевой принтер, подключенный к другому компьютеру, используйте

команду:

cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnmngr.vbs" -ac -p “\prnt01hp2000”

Довольно частые ошибки при подключении сетевых принтеров — 0x00000002 , 0x00000057 и 0x0000007e . Способы решения ошибок доступны по ссылкам.

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

Полный список принетров в системе можно вывести так:

cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnmngr.vbs" -l

Удалить принтер можно командой:
cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprnmngr.vbs" -d -p "HP5525"
Драйвер печати удаляется так:
cscript "C:WindowsSystem32Printing_Admin_Scriptsen-USprndrvr.vbs" -d -m "HP Universal Printing PCL 6" -e "Windows x64" -v 3

В этой статье мы рассмотрели базовые операции со старыми-добрыми vbs-скриптами Microsoft, позволяющими управлять принтерами и их драйверами из командной строки в различных версиях Windows. Полный список возможностей и аргументов этих скриптов доступен в документации Microsoft или во встроенной в сами сценарии помощи (просто запустите в командной строке файл сценария без параметров).

В следующей статье мы познакомимся с новыми возможностями управления принтерами в Windows 10 / 8.1 и Windows Server 2016 / 2012 R2, которые предоставляет PowerShell.

EnglishRussianUkrainian