Скрипт для установки принтера по умолчанию

Управление принтерами из командной строки в 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\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.
  3. В каталоге находятся следующие vbs скрипты:

    • Prncnfg.vbs – скрипт для отображения информации о настройках принтера;
    • Prndrvr.vbs – управление драйверами принтеров (установка/удаление драйвера);
    • Prnjobs.vbs – управления заданиями печати;
    • Prnmngr.vbs – управление принтерами (в т.ч. создание и удаление принтера в системе);
    • Prnport.vbs – управление подключением к удаленному принтеру по TCP/IP порту;
    • Prnqctl.vbs – управление выполнением задания на печать;
    • Pubprn.vbs – управление публикацией принтеров в Active Directory.

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

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

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

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

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

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

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

  4. После установки драйвера печати, он появится в свойствах сервера печати (Control Panel\Hardware and Sound\Devices and Printers ->Print Server Properties).
  5. Установка нового принтера из командной строки

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

  6. -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

  7. Принтер по умолчанию 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

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

    Чтобы отправить тестовую страницу на печать на созданном ранее принтере, выполните:
    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

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

  9. Все новые принтеры, которое вы установили в 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”

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

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

    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.

    источник

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

  11. Доброго времени суток! Возникла потребность с помощью скриптов выбирать активный принтер по умолчанию. В интернете не смог нарыть, что именно нужно мне, но нашел скрипт, который выставляет принтер по умолчанию с указанным названием: wmic printer where name=’Canon MF210 Series’ call setdefaultprinter

    На ум приходят две схемы реализации.
    1. Удалить все принтеры – отключить и включить принтер (для начала его установки) – установить по умолчанию;
    2. Определить активный – определить имя – установить по умолчанию.

    Никто не знает, как реализовать это через командную строку или реестр?

    источник

    Управление принтерами в Active Directory с помощью скриптов для разных версий ОС

    Введение

    В данном топике я подробно расскажу о том, на какие грабли можно наткнуться при автоматической установке, удалении принтеров средствами Active Directory.

    Подготовка AD к установке принтеров

    Разделяем компьютеры по арxитектуре и версии ОС

    Я опишу случай, когда целевые компьютеры находятся в различных организационных единицах, при этом имеют разную архитектуру.

    1. - Создаем группы безопасности соответствующие каждой архитектуре и версии ОС, пример: win_x64, win_x32. (Я использовал только 2 группы, так как в моем парке компьютеров существуют либо Windows XP x32, либо Windows 7 x64.).
    2. - Создаем политики с понятными названиями и ограничиваем доступ к этим политикам только для групп безопасности из предыдущего пункта. Пример: «Политика принтеров x32», доступ только для членов группы win_x32.
    3. - Применяем созданные политики ко всем организационным единицам. Самый лучший способ это сделать, по моему мнению — это поместить все OU внутри одной и к ней применить новые политики.
    4. - Делаем компьютеры с архитектурой ОС x32 членами группы win_x32, для других архитектур и версий соответственно.

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

    Читайте также:  Технические требования к установке автоклавов
    Сетевая папка

    Создается сетевая папка доступная всем пользователям и компьютерам домена. Думаю, этот этап подробно расписывать нет необходимости. Права на папку — только чтение.

  12. Драйвера
    1. Скачиваем драйвера для всех версий и архитектур.
    2. Распаковываем их до состояния INF файлов. Грабля №1. Если с этим возникают проблемы, то чаще всего драйвера можно найти в скрытой шаре PRINT$ на машине где установлен принтер. Их можно взять оттуда.
    3. Копируем эти файлы у нашу сетевую папку. Для удобства разделяем по подпапкам.

    Теперь можно переходить к развертыванию.

    Развертывание

    Развертывание будет делаться в 2 этапа:

    1. Создание скрипта установки драйвера.
    2. Создание скрипта подключения пользователя к принтеру.

    Внимание! Грабля №2 Пункт 1 актуален только для Windows Vista и новее, так как драйвер на Windows XP ставится с правами обычного пользователя и не требует админских прав. Как ни странно.

    Скрипт установки драйвера

    Этот скрипт помещается в разделе «Конфигурация компьютера» — «Политики» — «Конфигурация Windows» — «Сценарии (запуск/завершение)» — «Автозагрузка»
    Создаем файл .BAT такого содержания:
    rundll32 printui.dll,PrintUIEntry /ia /m » » /h «x64» /v «Type 3 — User Mode» /f » »
    rundll32 printui.dll,PrintUIEntry /ia /m » » /h «x64» /v «Type 3 — User Mode» /f » »

  13. Грабля №3 Имя принтера можно и нужно узнать в свойствах сервера печати Windows на машине, где драйвер уже установлен. Наверняка есть и в inf файле.

    Теперь драйвер принтера будет устанавливаться при загрузке системы автоматически. Если применить его ко всем компьютерам с Windows Vista и новее, то при срабатывании скрипта подключения принтера не выскочит ошибка о недостаточности прав.

    Скрипт подключение принтеров

    Этот скрипт помещается в разделе «Конфигурация пользователя» — «Политики» — «Конфигурация Windows» — «Сценарии (вход/выход из системы)» — «Вход в систему»
    Для обеих архитектур скрипт одинаков.
    rem Подключаем сетевой принтер «officeprint» на сервере server
    rundll32 printui.dll,PrintUIEntry /in /n \\server\officeprint /q
    rem Подключаем сетевой принтер «print» на сервере server1
    rundll32 printui.dll,PrintUIEntry /in /n \\server1\print /q
    rem Ставим его по умолчанию
    rundll32 printui.dll,PrintUIEntry /in /n \\server1\print /y /q

    Теперь при входе в систему пользователю автоматически подключатся принтеры и по умолчанию выберется принтер «print» на server1.

    Автоматическое удаление принтеров

  14. Все достаточно просто.
    Создаем .BAT файл вот с таким содержанием.
    REG DELETE «HKEY_CURRENT_USER\Printers\Connections» /f
    Затем делаем его скриптом на выход пользователя из системы.
    Когда пользователь в следующий раз зайдет в сеть, у него будут только те принтеры, которые установятся политикой.
    Полезно при переезде принтера с одного принт-сервера на другой.
    Грабля №4 Удаление ветки реестра лучше производить при выходе пользователя из системы, а не при входе перед подключением принтеров.
    Для этого требуется перезагрузка службы печати, которая может перезагружаться достаточно долго. Это черевато ситуацией, когда служба еще не запустилась, а скрипт подключения уже сработал и вызвал ошибку.

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

    Данная операция может потребоваться при обновлении драйвера.

    источник: https://radiodip.ru/skript-dlya-ustanovki-printera-po-umolchaniyu/?ysclid=m0m7s109d7921533413

 

Яндекс.Метрика