Управління принтерами з командного рядка в Windows 10 / 8.1

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

зміст:

  • Готові VBS скрипти для управління принтерами в Windows
  • Установка драйвера принтера з командного рядка
  • Установка нового принтера з командного рядка
  • Управління принтером за замовчуванням
  • Створюємо TCP / IP порт для мережевого принтера
  • Відправка на друк тестової сторінки
  • Управління чергами друку з командного рядка
  • Включити загальний доступ до принтера з командного рядка
  • Як підключити мережевий принтер з командного рядка
  • Видалення принтера і драйвера друку з командного рядка

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

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

Ці скрипти присутні у всіх версіях Windows (починаючи з Vista і Windows Server 2008) і знаходяться в каталозі C: \ Windows\ System32 \ Printing_Admin_Scripts\ en-US.

  1. Замість каталогу en-US може бути інший каталог, що відповідає мові встановленої системи. Для російської версії Windows це буде каталог ru-RU (повний шлях C: \ Windows \ System32 \ Printing_Admin_Scripts \ ru-RU);
  2. У Windows XP і Windows Server 2003 ці vbs скрипти зберігаються в каталозі C: ​​\ WINDOWS \ system32.

В каталозі знаходяться такі vbs скрипти:

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

Розглянемо типові сценарії використання цих vbs скриптів.

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

Припустимо, вам необхідно встановити на комп'ютері користувача універсальний драйвер друку HP (HP Universal Printer Driver). Скачайте відповідну версію драйвера з сайту виробника і розпакуйте його в довільний каталог (наприклад, C: \ drv \ HP Universal Print Driver).
Права на установки і налаштування локальних принтерів є у членів локальних Administrators (Адміністратори), Print Operators (Оператори друку) або Server Operators (Оператори сервера).
Встановимо драйвер принтера командою:
cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prndrvr.vbs" -a -m "HP Universal Printing PCL 6" -i "C: \ drv \ HP Universal Print Driver \ hpcu160u.inf"

Розглянемо параметри команди:

- додати драйвер принтера;

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

-i "шлях" - повний шлях до inf файлу драйвера.

Після установки драйвера друку, він з'явиться у властивостях сервера друку (Control Panel \ Hardware and Sound \ Devices and Printers -> Print Server Properties).

Примітка. Якщо драйвер принтера несумісний, його можна встановити вручну.

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

За допомогою наступної команди можна встановити новий принтер з ім'ям HP5525, скориставшись раніше встановленим драйвером друку HP Universal Printing PCL 6:

cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnmngr.vbs" -a -p "HP5525" -m "HP Universal Printing PCL 6" -r "lpt1:"

-a- встановлюється новий локальний принтер;

-p "HP5525" - псевдонім принтера;

-m "HP Universal Printing PCL 6" - використовуваний драйвер друку;

-r "lpt1:" - ім'я використовуваного локального порту друку. В цьому випадку печатка повинна здійснюватися через LPT порт. Тут може бути зазначено паралельний порт (LPT1 :, LPT2 :), послідовний (СОМ1 :, COM2: - перед установкою переконайтеся що даний COM порт не використовується іншим пристроєм) або USB-порт (USB001 і т.д.).

Управління принтером за замовчуванням

З командного рядка ви можете вибрати який принтер повинен використовуватися при друку за замовчуванням. За допомогою наступної команди можна вивести список всіх доступних принтерів:

cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnmngr.vbs" -l

Поточний принтер за замовчуванням можна отримати так:

cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnmngr.vbs" -g

Принтер за замовчуванням HP Universal Printing PCL 6

Щоб вибрати інший принтер для друку за замовчуванням, виконайте:

cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnmngr.vbs" -t -р "HP5525"

Створюємо TCP / IP порт для мережевого принтера

Якщо ви хочете підключити мережевий принтер, необхідно спочатку створити для нього мережевий порт (припустимо ip адресу принтера 192.168.10.26):
cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ Prnport.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: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnmngr.vbs" -a -p "HP5525" -m "HP Universal Printing PCL 6" -r "IP_192.168.10.26"
Після закінчення роботи скрипта в системі з'явиться новий принтер з ім'ям HP5525

Відправка на друк тестової сторінки

Щоб відправити тестову сторінку на друк на створеному раніше принтері, виконайте:
cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnqctl.vbs" -e -p "HP5525"

Управління чергами друку з командного рядка

За допомогою скрипта prnjobs.vbs ви можете переглядати завдання друку в чергах. Щоб вивести всі завдання друку для всіх локальних прінетров, виконайте команду:
cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnjobs.vbs" -l

Щоб вивести завдання на конкретному принтері, потрібно вказати його ім'я:

cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnjobs.vbs" -l -p HP5525

Для очищення черги друку, на одному принтері виконайте команду:

cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnjobs.vbs" -x -p HP5525

Або можна швидко очистити всі черги для всіх принтерів (так набагато зручніше, ніж вручну очищати чергу друку):

cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnjobs.vbs" -x

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

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

script "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prncnfg.vbs" -t -p HP5525 -h "HP5525_Shared" + shared

Щоб відключити загальний доступ до принтера, виконайте:

script "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prncnfg.vbs" -t -p "HP5525" -shared

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

script "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prncnfg.vbs" -t -p HP5525 + published

Щоб скасувати публікацію в AD для принтера, використовуйте аргумент "-published".

Як підключити мережевий принтер з командного рядка

Щоб підключити мережевий принтер, підключений до іншого комп'ютера, використовуйте

команду:

cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnmngr.vbs" -ac -p "\\ prnt01 \ hp2000"

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

Видалення принтера і драйвера друку з командного рядка

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

cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnmngr.vbs" -l

Видалити принтер можна командою:
cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prnmngr.vbs" -d -p "HP5525"
Драйвер друку видаляється так:
cscript "C: \ Windows \ System32 \ Printing_Admin_Scripts \ en-US \ prndrvr.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.