Настройка службы печати windows server 2019

Как установить и настроить службу печати и документов на Windows server 2019, а также развернуть печатающее устройство в домене с помощью групповой политики

После того, как установлен и настроен Windows server 2019, можно приступить к установке различных служб и компонентов. В данном случае установим службу печати и документов, которая позволяет управлять печатающими устройствами в домене, а также развертывать принтеры с помощью групповой политики.

Установка роли «Служба печати и документов»

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

Развертывание принтера (МФУ) в домене с помощью групповой политики

Проверка установки принтера в домене с помощью групповой политики

Установка роли «Служба печати и документов».

1. нажимаем «Пуск» — «Диспетчер серверов«.

setup printer mfu gpo1

2. Выбираем «Добавить роли и компоненты«.

setup printer mfu gpo2

3. В мастере добавления ролей и компонентов читаем условия, которые необходимы для установки ролей и компонентов. 

  • Учётная запись администратора защищена надежным паролем;
  • Настроены сетевые параметры, такие как статические IP-адреса;
  • Установлены новейшие обновления безопасности из Центра обновления Windows.

Нажимаем «Далее«.

setup printer mfu gpo3

4. В следующем окне выбираем «Установка ролей или компонентов«, нажимаем «Далее«.

setup printer mfu gpo4

5. Выбираем сервер из пула серверов, затем «Далее«.

setup printer mfu gpo5

6. Выбираем «Службы печати и документов«.

setup printer mfu gpo7

7. В открывшемся окне выбираем «Добавить компоненты«, снова «Далее«.

setup printer mfu gpo6

8.  Компоненты для установки на этом сервере устанавливать нет необходимости, нажимаем «Далее«.

 setup printer mfu gpo8

9. Читаем на что обратить внимание при установке службы печати и документов, нажимаем «Далее«.

setup printer mfu gpo9

10. В следующем окне оставляем по умолчанию чекбокс на «Сервер печати«. Если в сети имеются компьютеры, работающие на базе UNIX (в том числе Linux), ставим чекбокс на «Службы LPD«. Затем «Далее«.

setup printer mfu gpo10

11. В открывшемся окне Нажимаем «Установить«.

setup printer mfu gpo11

12. По окончании установки нажимаем «Закрыть«. Служба печати и документов после установки не требует перезагрузки сервера.

setup printer mfu gpo12

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

Для того, чтобы установить принтер, МФУ в домене, сначала необходимо установить драйвер печатающего устройства на сервере. В данном случае установим драйвер для МФУ Kyocera Ecosys M2835dw.

1. Открывает «Диспетчер серверов» (Пуск — Диспетчер серверов), далее «Средства» — «Управление печатью«.

setup printer mfu gpo13

2. В открывшемся окне «Управление печатью» раскрываем «Серверы печати«. Нажимаем правой клавишей мыши на «Принтеры«, далее «Добавить принтер…«.

setup printer mfu gpo14

3. В мастере установки сетевого принтера выбираем «Добавить TCP/IP-принтер или веб-принтер по его IP-адресу или имени узла«, затем «Далее«.

setup printer mfu gpo15

4. Задаём «Имя узла или IP-адрес«, «Имя порта«. Устанавливаем чекбокс «Автоматический поиск драйвера принтера«, если не стоит. Нажимаем «Далее«.

setup printer mfu gpo16

5. После того, как принтер (МФУ) найден, задаём «Имя принтера«, «Имя общего ресурса«, устанавливаем чекбокс «Общий доступ к принтеру«, если не стоит. Для удобства заполняем поле «Размещение» и если есть необходимость, заполняем «Комментарий«. Нажимаем «Далее«.

setup printer mfu gpo17

6. Дожидаемся установки драйвера сетевого принтера (МФУ), затем «Далее«.

setup printer mfu gpo18

7. После окончания установки устройства, мастер установки сетевых принтеров напишет состояние «Принтер установлен». Можно напечатать пробную страницу, а также установить другой принтер, установив чекбокс в соответствующее поле. Нажимаем «Готово«.

тsetup printer mfu gpo19

8. Далее в окне «Управление печатью«, нажимаем правой клавишей на установленное устройство, выбираем «Свойства«. В открывшемся окне ставим чекбокс «Внести в Active Directory«. Нажимаем «Применить«, затем «ОК«.

setup printer mfu gpo21

Развертывание принтера (МФУ) в домене с помощью групповой политики

1. Для развертывания принтера (МФУ) в домене с помощью GPO в окне «Управление печатью» переходим к «Принтеры«, далее выбираем необходимый принтер. Нажимаем правой клавишей мыши на выбранный принтер, далее «Развернуть с помощью групповой политики«. В новом окне нажимаем «Обзор«.

setup printer mfu gpo22

2. В открывшемся окне выбираем подразделение, в котором будет развернуто устройство для печати, затем нажимаем на «+» и задаём имя для новой групповой политики.

setup printer mfu gpo23

3. В зависимости от применения групповой политики (для пользователей, для компьютеров), ставим чекбокс. В данном случае применяем политику для пользователей, к которым применен данный объект групповой политики (на пользователя). Нажимаем «Добавить» — «Применить«. 

setup printer mfu gpo24

4. Появится сообщение, что операция развертывания или удаления принтера выполнена успешно. Для закрытия сообщения нажимаем «ОК«, затем «ОК«.

setup printer mfu gpo25

5. Для того, чтобы связать созданную групповую политику с другими подразделениями в домене, открываем оснастку консоли «Управление групповой политикой«. Выбираем нужное подразделение, правой клавишей мыши — «Связать существующий объект групповой политики…«.

setup printer mfu gpo26

6. Выбираем созданную групповую политику, нажимаем «ОК«. Применяем групповую политику к нужным подразделениям, или можем сразу выбрать весь домен.

setup printer mfu gpo27

7. Для немедленного применения групповой политики открываем командную строку, набираем gpupdate /force.

setup printer mfu gpo28

Проверка установки принтера в домене с помощью групповой политики

 1. Для проверки установки принтера (МФУ) в домене, заходим на компьютере пользователя под учетной записью. В строке поиска пишем «Принтеры«, нажимаем на появившееся «Принтеры и сканеры«.

setup printer mfu gpo29

2. В новом окне проверяем, что появилось устройство печати.

 setup printer mfu gpo30

Посмотреть, как установить и настроить службу печати и документов, а также развернуть принтер в домене с помощью групповой политикой можно здесь:

Читайте также:

Windows server 2019 — установка и настройка WSUS, создание и настройка GPO
Windows server 2019 — добавление и удаление компьютера в домене
Windows server 2019 — переименование администратора домена, изменение формата выводимого имени пользователя
Windows server 2019 — установка и настройка Active Directory, DNS, DHCP 
Windows server 2019 — создание и удаление пользователя, группы, подразделения в домене
Windows server 2019 — GPO изменение экранной заставки, отключение монитора, изменение политики паролей

Содержание

  1. Принт сервер в домене windows server 2019
  2. Установка принтера в домене
  3. Развертывание принтера (МФУ) в домене с помощью групповой политики
  4. Проверка установки принтера в домене с помощью групповой политики
  5. Установка принтеров пользователям домена AD с помощью групповых политик
  6. Подключение принтеров пользователям через GPO
  7. Настройка политики подключения принтеров Point and Print Restrictions

Принт сервер в домене windows server 2019

windows server 2019 printer 150

Установка роли «Служба печати и документов».

setup printer mfu gpo1

2. Выбираем «Добавить роли и компоненты«.

setup printer mfu gpo2

3. В мастере добавления ролей и компонентов читаем условия, которые необходимы для установки ролей и компонентов.

Нажимаем «Далее«.

setup printer mfu gpo3

4. В следующем окне выбираем «Установка ролей или компонентов«, нажимаем «Далее«.

setup printer mfu gpo4

5. Выбираем сервер из пула серверов, затем «Далее«.

setup printer mfu gpo5

6. Выбираем «Службы печати и документов«.

setup printer mfu gpo7

7. В открывшемся окне выбираем «Добавить компоненты«, снова «Далее«.

setup printer mfu gpo6

8. Компоненты для установки на этом сервере устанавливать нет необходимости, нажимаем «Далее«.

setup printer mfu gpo8

9. Читаем на что обратить внимание при установке службы печати и документов, нажимаем «Далее«.

setup printer mfu gpo9

10. В следующем окне оставляем по умолчанию чекбокс на «Сервер печати«. Если в сети имеются компьютеры, работающие на базе UNIX (в том числе Linux), ставим чекбокс на «Службы LPD«. Затем «Далее«.

setup printer mfu gpo10

11. В открывшемся окне Нажимаем «Установить«.

setup printer mfu gpo11

12. По окончании установки нажимаем «Закрыть«. Служба печати и документов после установки не требует перезагрузки сервера.

setup printer mfu gpo12

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

Для того, чтобы установить принтер, МФУ в домене, сначала необходимо установить драйвер печатающего устройства на сервере. В данном случае установим драйвер для МФУ Kyocera Ecosys M2835dw.

setup printer mfu gpo13

2. В открывшемся окне «Управление печатью» раскрываем «Серверы печати«. Нажимаем правой клавишей мыши на «Принтеры«, далее «Добавить принтер. «.

setup printer mfu gpo14

3. В мастере установки сетевого принтера выбираем «Добавить TCP/IP-принтер или веб-принтер по его IP-адресу или имени узла«, затем «Далее«.

setup printer mfu gpo15

4. Задаём «Имя узла или IP-адрес«, «Имя порта«. Устанавливаем чекбокс «Автоматический поиск драйвера принтера«, если не стоит. Нажимаем «Далее«.

setup printer mfu gpo16

5. После того, как принтер (МФУ) найден, задаём «Имя принтера«, «Имя общего ресурса«, устанавливаем чекбокс «Общий доступ к принтеру«, если не стоит. Для удобства заполняем поле «Размещение» и если есть необходимость, заполняем «Комментарий«. Нажимаем «Далее«.

setup printer mfu gpo17

6. Дожидаемся установки драйвера сетевого принтера (МФУ), затем «Далее«.

setup printer mfu gpo18

7. После окончания установки устройства, мастер установки сетевых принтеров напишет состояние «Принтер установлен». Можно напечатать пробную страницу, а также установить другой принтер, установив чекбокс в соответствующее поле. Нажимаем «Готово«.

т setup printer mfu gpo19

8. Далее в окне «Управление печатью«, нажимаем правой клавишей на установленное устройство, выбираем «Свойства«. В открывшемся окне ставим чекбокс «Внести в Active Directory«. Нажимаем «Применить«, затем «ОК«.

setup printer mfu gpo21

Развертывание принтера (МФУ) в домене с помощью групповой политики

1. Для развертывания принтера (МФУ) в домене с помощью GPO в окне «Управление печатью» переходим к «Принтеры«, далее выбираем необходимый принтер. Нажимаем правой клавишей мыши на выбранный принтер, далее «Развернуть с помощью групповой политики«. В новом окне нажимаем «Обзор«.

setup printer mfu gpo22

2. В открывшемся окне выбираем подразделение, в котором будет развернуто устройство для печати, затем нажимаем на «+» и задаём имя для новой групповой политики.

setup printer mfu gpo23

setup printer mfu gpo24

4. Появится сообщение, что операция развертывания или удаления принтера выполнена успешно. Для закрытия сообщения нажимаем «ОК«, затем «ОК«.

setup printer mfu gpo25

setup printer mfu gpo26

6. Выбираем созданную групповую политику, нажимаем «ОК«. Применяем групповую политику к нужным подразделениям, или можем сразу выбрать весь домен.

setup printer mfu gpo27

7. Для немедленного применения групповой политики открываем командную строку, набираем gpupdate /force.

setup printer mfu gpo28

Проверка установки принтера в домене с помощью групповой политики

1. Для проверки установки принтера (МФУ) в домене, заходим на компьютере пользователя под учетной записью. В строке поиска пишем «Принтеры«, нажимаем на появившееся «Принтеры и сканеры«.

setup printer mfu gpo29

2. В новом окне проверяем, что появилось устройство печати.

setup printer mfu gpo30

Посмотреть, как установить и настроить службу печати и документов, а также развернуть принтер в домене с помощью групповой политикой можно здесь:

Источник

Установка принтеров пользователям домена AD с помощью групповых политик

Рассмотрим возможности автоматического подключения принтеров пользователям домена Active Directory с помощью групповых политик (GPO). Довольно удобно, когда при первом входе в систему у пользователя сразу устанавливаются и появляются в принтерах доступные ему устройства.

Рассмотрим следующую конфигурацию: в организации имеется 3 отдела, каждый отдел должен печатать документы на собственном цветном сетевом принтере. Ваша задача, как администратора, настроить автоматическое подключение сетевых принтеров пользователям в зависимости от отдела.

Подключение принтеров пользователям через GPO

Создайте три новые группы безопасности в AD (prn_HPColorSales, prn_HPColorIT, prn_HPColorManagers) и добавьте в нее пользователей отделов (наполнение групп пользователей можно автоматизировать по статье “Динамические группы в AD”). Вы можете создать группы в консоли ADUC, или с помощью командлета New-ADGroup:

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

Настройка политики подключения принтеров Point and Print Restrictions

Для корректного подключения принтеров у любого пользователя, вам придется настроить политику Point and Print Restrictions и настроить адреса принт-серверов серверов, с которых пользователей разрешено устанавливать принтеры.

politika package point and print approved server

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

page

page

page

Вы уверены что это «старый механизм»?

На счет «старого механизма» это чисто мое субъективное мнение. На мой взгляд GPP гораздо гибче при назначении принтеров пользователям.
+ «Deployed Printers» требует обязательного наличия установленной роли Print Server

Простите, а собственно чем плох вариант развертывания через принт сервер?
Указываешь OU с ПК и с юзверями и им соответственно прилетает… разве нет?

Можно распространять принтеры на пользователей и таки образом. Все зависит от инфраструктуры.
Но, на мой взгляд метод с GPP более универсальный и гибкий. Кроме того, не нужно ставить роль принт-сервера, а также можно подключить сетевые принтеры (не опубликованные на принт-сервере) или принтеры с компьютеров других пользователей.

mystery56

Пример:
Отдел А и принтер #1 и отдел Б, принтер #2.
Политика на пользователя.
Сотрудник из отдела А приходит в отдел Б, логинится и ему из за политики на пользователя прилетает принтер физически расположенный в отделе А. Расстояние между отделами огромное.
По этой причине только политика на машину.

Ситуация Б — машины гораздо чаще перемещаются чем пользователи. Кроме того некоторым при заходе через RDS удобно печатать на принтер своего отдела.

Все зависит от вашей инфрастурктуры, струтуры и бизнес задач…. В статье я лишь привожу свои рекомендации. Можно много привести доводов в пользу обоих примеров.
Как использовать технологию автоподключения принтера — решать вам как сисадмину. Вы лучше значете свою кухню.

mystery56

Админ, почини SMTP)))

webmaster@example.com
Blacklisted by the SPF Test (sender forged per policy of «example.com», SPF result: «fail»).
37.252.2.22

mystery56

Автор всё правильно указал, работаю админом, использовал все эти методы подключения в разное время и в разной структуре АД. Метод назначения принтера на конкретный OU отдела плох тех, что администратору нужно поддерживать АД в соответствии со штатной структурой организации, и если у вас контора большая, то дублировать работу отдела кадров и учитывать все перемещения персонала и устройств вы задолбаетесь. В итоге использую описанный метод, все мои пользователи в одном контейнере, при создании у.з. или при изменениях я пользуюсь заполнением описания и атрибутов у.з. Сортировать пользователей по атрибутам можно очень гибко. Единственная проблема c частью принтеров и ПК, это когда принт-сервер win 2012R2 на 64 бит, а ПК пользователя на 32 бита Xp,7,8,10…если есть универсальное решение предварительного докидывания драйверов принтеров на ПК до применения политики печати через ГП — буду благодарен. Использовать две политики параллельно, сначала на ПК накидать драйверов,которые криво ставятся, после прилетит политика с назначением принтеров.

1) Большой зоопарк принтеров? Не получится обойтись минимальным набором драйверов на ПК типа HP Universal Print Driver?
2) Пробовали установить x86 драйверы печати на WS2012R2 (не уверен можно ли так). Если можно — такие драйвера должны автоматически устанавливаться клиентами через политику Point&Print Restrictions

mystery56

«3. Действие – Update. В поле Shared Path укажите UNC адрес принтера, например, \msk-prnthpcolorsales»…

Если указать ip адрес сетевого принтера, то данная схема не работает. Как быть, если нет принт-сервера, а у принтера только ip?

mystery56

Сделать принтсервер или расшарить на любом другом компьютере.

См. ремарку. Если вы хотите подключать принтер по IP адресу (не через принт-сервера, а напрямую), выберите пункт TCP/IP Printer.

mystery56

Да, но при этом настройка требует указать printer path, которая позволяет указать через обзор […] принтера, которые расшарены кем-то или на print-сервере и зарегистрированы в ActiveDirectory. А указав \ip результата не дает.

В поле Printer Path попробуйте указать путь UNC путь к принтеру (в виде \pcnamehp2000 ), с которого нужно получить драйвер для принтера (это может быть любой другой компьютер с настроенным и расшаренным этим или другим принтером той же модели).

mystery56

Всё хорошо, только последние два пункта надо настраивать не в User Configuration, а в Сomputer Configuration. Второй скриншот снизу именно из того раздела.

mystery56

mystery56

Не корректно выразился. Имел ввиду, что для подключения принтеров через GPO нужно настраивать политику как в разделе User Configuration, так и в разделе Сomputer Configuration. Вот.

а что нужно указать в «Shared printer path» при добавлении принтера как TCP/IP Printer? Тем более если он не расшарен?

Насколько я помню там указывается UNC путь к принтеру, с которого нужно получить драйвера. Т.е. нужно руками подключить и расшиарить этот принтер на одном компьютере.

mystery56

Добрый день!
Спасибо за статью. Возникло 3 вопроса.
1. Зачем настраивать политики подключения принтеров Point and Print Restrictions. Это же нужно для более старых версий Windows?
2. При перемещении пользователя в другое подразделение принтер не удаляется. А новый появляется.
3. С недавних пор возникла проблема долгой установки принтера на клиентском компьютере. Раньше это происходило после команды gpupdate /force.

mystery56

Столкнулся с такой проблемой:
Принтер Kyocera 4050
Применяю GPP для пользователей (что бы можно было выставить принтер по умолчанию), но в GPP указываю фильтрацию по группе безопасности компьютера (что бы на сервер не тащить драйвера принтеров)
Поставить галку «Удалить этот элемент когда, он более не применяется», что бы можно было легко и просто удалять принтеры, если они более не работают по каким-то причинам.

Итог: У элемента выставилось действие Заменить, из-за чего при каждом логоне пользователя драйвер именно этого принтера подвешивал систему минут на 15. Пользователь вводил пароль, и видел сообщение «Добро пожаловать».
Остальные 2 принтера нормально работают с Заменой.

Решилось сменой Действия с Замена на Обновить для проблемного принтера. Да, первый логон после создания политики будет немного дольше, но последующие будут залетать махом.

Вариант Replace в GPP используется крайне редко, когда вам нужно что-то сначала гарантированно удалить, а потом установить. Поэтому по умолчанию стоит режиме Update.

mystery56

А что делать, если принтер все же не подключается? Все настроено в соответствии с вашей статьей, но в логах сыпется ошибка

Элемент предпочтения пользователь «printer_name» в объекте групповой политики «Подключение принтеров <7debd8bb-c4c5-4963-b0aa-344332a527a6>» не применен по причине ошибки с кодом ‘0x80070bcb Указанный драйвер принтера не найден в системе. Необходимо скачать драйвер.’ Эта ошибка была отключена.

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

Вам либо предварительно по всем компьютерам нужно драйвера для нужных моделей принтеров поставить, либо(правильный путь) разобраться с политикой Point and Print Restriction.
Также в статье я писал, что MS запрещает установку старых драйверов принтеров, которые не соответствуют стандарту.
Также можете здесь почитать https://winitpro.ru/index.php/2016/08/31/update-kb3170455-network-shared-printer-error/

mystery56

Имею на входе сервера на WIndows Server 2012 R2 и пользовательские машины на WIndows 10.
А так же парк МФУ Kyocera подключенных к серверу с настроенным принтсервером, все драйвера подписанные (статус True в колонке упакованные).
Столкнулся с той же самой историей, что и Qwerty. Перепробовал уже все варианты, которые нашёл в интернете, но всё равно вижу эту ошибку в лога приложений и принтеры без предварительно установленного драйвера на машине автоматом не появляются. С политикой Point and Restriction (ограничения указания и печати) как только не игрался. У вас, кстати, допущена ошибка. Проблема в том, что эти две политики есть в разделе настроек конфигурации компьютера и в разделе настроек конфигурации пользователя. Ваши скриншоты, как раз расположены в разделе настроек компьютера, ибо в разделе пользователя не возможности выбрать вариант — «не показывать предупреждение или запрос на повышение прав».
На форумах я встречал разные варианты. Кто-то пишет, что нужно политику «Ограничения указания и печати» отключить, а политику «Функция указания и печати для пакетов — Разрешенные серверы» — включить и прописать сервера, кто-то пишет, как у вас, что нужно всё включать, кто-то пишет, что нужно ещё включать политики в пользовательском разделе, но по факту — принтеры не ставятся, при ручном щелканье на принтере на сервере появляется окно — доверяете ли вы принтеру?
Если кто-то нашёл вариант решения проблема, напишите пожалуйста

mystery56

KB5005652 — управление поведением драйвера по умолчанию (CVE-2022–34481)
Сводка

Windows обновлений, выпущенных 10 августа 2022 г. и более поздних версий, для установки драйверов по умолчанию требуются права администратора. Мы внося это изменение в поведение по умолчанию, чтобы снизить риск на всех Windows, включая устройства, которые не используют функции Point и Print или Print. Дополнительные сведения см. в пунктах Изменение поведения по умолчанию и CVE-2022–34481.

По умолчанию пользователи без прав администратора больше не могут делать следующее с помощью точки и печати:

Установка новых принтеров с помощью драйверов на удаленном компьютере или сервере

mystery56

Мы не распространяем принтеры политиками, но в политики настроены так чтобы пользователь без прав админа мог подключить принтер с любого сервера. Может вам поможет:

Computer Configuration / Administrative Templates
Printers / Point and Print Restrictions = Disabled
System / Device Installation / Allow remote access to the Plug and Play interface = Enabled
System / Driver Installation / Allow non-administrators to install drivers for these device setup classes = Enabled
Allow Users to install device drivers for these classes:
<4d36e979-e325-11ce-bfc1-08002be10318>
<4658ee7e-f050-11d1-b6bd-00c04fa372a7>

User Configuration / Administrative Templates / Control Panel / Printers
Browse the network to find printers = Enabled
Point and Print Restrictions = Disabled
Prevent addition of printers = Disabled
Prevent deletion of printers = Disabled

mystery56

mystery56

Добрый день!
А в для этого примера, при создании GPO AutoConnect, в фильтре безопасности тогда что должно быть для этой политики прописано, если группы задаются в Нацеливании?
Спасибо!

mystery56

Здравствуйте.
Вдруг будут мысли: есть терминальный сервер и десятки пользователей из разных городов, которые перемещаются между разными пк (внутри своего города). Можно ли сделать так, чтобы в сеансе принтеры подключались в зависимости от пк, с которого юзер вошел по rdp? Т.е. сервак как—то должен узнать, откуда к нему произошло подключение…

Не проще ли цеплять принтер к ПК, а не терминале печать будет работать через EasyPrint на локальном принтере.

mystery56

Добрый день, подскажите а если у меня нет принтсервера то как указать unc путь и можно как-то указать ему путь на файловый сервер где драйвера лежат или все таки принт сервер надо разворачивать

mystery56

Настроил по мануалу, все заработало, принтер установился автоматически.
На Вашем сайте очень качественные инструкции, уже не первый раз выручают!
Спасибо большое за Ваш труд!

mystery56

ставил однажды так принтеры. столкнулся с одной очень неприятной штукой, после отключения пользователя от политики, ему продолжает устанавливается принтер. Где-то это в профиле прописывается или еще где-то? пользователю уже не нужен этот принтер, а он продолжает ставится.

Можно сделать отдельную политики на удаление этого принтера (все то же самое, только действие Delete, применять когда не входит в группу…
Кривовато, но как вариант…

Источник

В случае, когда на локальной машине принтер работает исправно, но с терминального сервера печать не идёт (служба EasyPrint не может корректно отработать с отдельным принтером), возникает необходимость устанавливать драйвер.

Данная инструкция была проверена на виртуальном терминальном сервере на базе ОС Windows Server 2019, для примера пробрасывается принтер Canon i-SENSYS LBP6000.

Нужна помощь? Настройки Windows Server и обслуживание серверов мы осуществляем в рамках услуги ИТ-аутсорсинг. Также возможны разовые проектные работы.

Шаг 1. Узнаём вендора и модель принтера (либо на самом принтере, либо через оснастку devmgmt.msc).

Шаг 2. Подключаемся на терминальный сервер с пробросом принтеров. В случае подключения через стандартную утилиту в Windows, убедитесь, что проброс включён:

Вызов панели для создания виртуальной машины

Рисунок 1 — Настройки подключения к удаленному рабочему столу

Шаг 3. Ищем и скачиваем драйверы на сайте вендора.

Шаг 4. Если скачанный драйвер — .exe файл, распаковываем его через 7-Zip или другой архиватор.

Шаг 5. Заходим в оснастку «управление печатью» (printmanagement.msc): серверы печати -> драйверы -> дополнительные действия (в окне действий справа) -> добавить драйвер.

Шаг 6. Выбираем архитектуру процессора компьютера, с которого осуществляется подключение к ТС.

Шаг 7. Нажимаем «Установить с диска» , указываем путь до .inf файла скачанного драйвера (папки распакованного .exe файла — см шаг 4.) -> OK.

Шаг 8. Выбираем модель принтера -> Далее -> Готово.

После успешной установки драйвера, рекомендуется провести тестовую печать для проверки работоспособности.

Видеоинструкция

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

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

  • Возможность централизованного управления всеми принтерами в организации, очередью печати, драйверами.
  • Обеспечение общего доступа к принтерам через публикацию в Active Directory;
  • Возможность разворачивать принтеры при помощи групповой политики;
  • Создавать пулы, что позволяет объединить несколько физических принтеров в один логический.

Исходные условия у нас таковы, что имеется определенный парк сетевых принтеров HP и Kyocera и нам необходимо настроить к ним доступ таким образом, что бы пользователь мог самостоятельно выбирать ближайший к себе принтер и устанавливать себе в систему. Для этого нам как администраторам, необходимо сначала развернуть сервер печати, добавить на него все наши принтеры, опубликовать в Active Directory, обучить пользователей простым шагам по установкедобавлению принтера или устанавливать их в автоматическом режиме при помощи групповой политики. В процессе работы, выполнять простые шаги по администрированию системы и устранять возникающие неполадки с печатью, о чем речь пойдет ниже.

1) Установка роли Print and Document Services (Служба печати и документов);

Итак, у нас имеется машина с установленным Windows Server 2012R2, хотя это может быть и 2008 и последняя на текущий момент Windows Server 2016, т.к. процесс установки службы от версии к версии отличается не сильно и сводится буквально к нескольким кликам по кнопке Далее. Запускаем Server Manager, выбираем Add Role and Features Wizard (Добавить роль и мастер компонентов).

print-server-windows-add-role

Затем соглашаемся с первым пунктом Role-based or feature-based installation (Базовая установка ролей и компонентов) жмем Далее.

print-server-windows-configure-server

На следующем экране Select Destination server (Выбор сервера назначения) выбираем сервер из пула или расположенный на VHD-диске. Поскольку у нас, пока только один локальный сервер, то жмем Next.

Выбираем роль для установки — Print and Document Services, соглашаемся с установкой дополнительных фичей — Print and Document Services Tools. Жмем Next.

На следующем экране Features, опционально выбираем компоненты для установки если нужно. Жмем Next.

print-server-add-role-and-features

Далее нам предлагают ознакомится с полезной информацией по службе печати Print and Document Services. Ознакамливаемся и жмем Next :)

windows-print-and-document-services-etc

Затем выбираем конкретные сервисы для установки. По мимо Print Server (Сервер печати) можно выбрать еще Distributed Scan Server (Распределенный сервер сканирования), Intetnet Printing (Поддержка печати через Интернет) и LPD Service (Служба печати UNIX). В рамках данной заметки нас интересует только cервер печати, поэтому выбираем его и жмем Next.

print-server-add-role-services

На завершающем экране, соглашаемся с установкой выбираемых компонентов нажатием кнопки Install.

print-server-add-role-confirm-install

Закрываем мастер при помощи close.

Те же действия, но в Powershell, можно выполнить буквально в несколько команд:

Fipmo ServerManager
add-WindowsFeature Print-Server

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

Используем классический gui-вариант добавления, либо при помощи несложной команды в PS:

Add-Computer -DomainName test.ru

Перезапускаем сервер командой:

2) Консоль управления Print Managment. Добавление драйверов и принтеров на сервер;

Запускаем консоль управления Print Managment. Для этого переходим в ПускAdministrative toolsPrint management. Либо запускаем в командной строке: printmanagement.msc

print-server-print-managment

Здесь, самый верхний узел Print Managment позволяет добавлять/удалять локальные и другие серверы печати для администрирования, а так же выполнять миграцию принтеров.

Custom Filters фильтрует принтеры по категориям: Все принтеры (All Printers), Все драйверы (All Drivers), Принтеры в состоянии «не готов» (Printers Not Ready) и принтеры с активными заданиями печати (Printers With Jobs). Так же, по правой кнопке, можно задать свой фильтр, если вам не хватает текущих.

Print Servers отображает текущие принт-серверы. В данном случае видно что у нас только один (локальный) сервер печати, где Drivers (Драйверы) показывает все драйверы на текущем сервере печати, Forms (Формы) — все поддерживаемые форматы бумаги, Ports — локальные и сетевые порты на текущем сервере печати, Printers — все установленные принтеры на текущем сервере печати.

Deployed Printers — принтеры, которые были развернуты с использованием групповой политики.

Что бы добавить новый принтер на сервер, переходим к узлу Print Servers, выбираем наш локальный сервер prints (local) в разделе Printers. Щелкаемся правой кнопкой и выбираем Add Printers (Добавить принтер). Запустится мастер добавления принтера Network Printer Installation Wizard, где доступно четыре метода установки. Первый и самый быстрый способ обнаружить сетевые принтеры это выполнить поиск в автоматическом режиме — Search the network for printers, вторым пунктом идет возможность добавить TCP/IP принтер или веб принтер по его IP-адресу или имени узла — Add a TCP/IP or Web Services Printer by IP address or hostname, далее идет возможность добавить новый принтер используя существующий порт — Add a new printer using an existing port, и последний пункт, это создание своего порта с последующим добавлением нового принтера — Create a new port and add a new printer.

print-server-network-printer-installation-wizard

Если выбрать первый пункт и позволить мастеру добавить принтер в автоматическом режиме то возникнет ситуация когда драйвер для принтера может быть так же добавлен в автоматическом режиме из дистрибутива операционной системы, что не желательно, поскольку, во-первых драйвер будет далеко не свежим, во-вторых он будет конкретно под данную модель принтера. Если принтеров не много, то в этом нет трагедии — все будет работать, но поскольку у нас принт-сервер, где как правило может быть n-ое количество устройств печати, то имеет смысл использовать самую актуальную версию драйвера с сайта производителя. Лучше использовать универсальный драйвер сразу для нескольких моделей, что позволит избежать в будущем разного рода конфликтов связанных с работой нескольких разношерстных устройств на одном сервере и позволит снизить временные затраты при будущем обновлении. Почитать еще о преимуществах универсального драйвера можно по следующей ссылке.

И всего вышесказанного следует, что для корректной работы системы нам сначала  необходимо установить на сервер правильный драйвер, а затем уже добавлять сами принтеры. Поэтому скачиваем универсальный драйвер с сайта производителя, например для HP  здесь, а для Kyocera тут. Что касаемо типа драйвера, PCL5 или PCL6 то тут решайте сами. Кто то говорит что PCL5 стабильнее, но лично я не заметил особой разницы. По идее PCL версии 6 это просто более новая реализация PCL драйвера от HP, поэтому имеет смысл использовать ее.

Для добавления драйверов, в консоле Print Managment переходим на наш локальный сервер в раздел Drivers и по правой кнопке запускаем мастер добавления драйверов — Add Driver. На следующем экране выбираем тип архитектуры процессора. Если необходима поддержка 32-разрядных клиентских операционных систем то так же отмечаем чекбокс x86. Жмем Далее.

print-server-processor-selection

На экране Printer Driver Selection выбираем драйвер для принтера. Жмем Have Disk и Browse для обзора и добавления драйверов.

print-server-driver-selection

Выбираем ранее скаченный драйвер. В нашем примере это универсальный драйвер Kyocera, жмем Next и Finish. Повторяем операцию для других ваших устройств.

print-server-driver-selection2

Лично у меня на сервере, в ходу принтеры только HP и Kyocera, соответственно и драйверы используются только этих производителей. Правда, надо отметить, что при использовании универсального драйвера от HP, далеко не все принтеры поддерживаются или не все функции поддерживаются корректно, хотя большая часть принтеров корпоративного класса работает без проблем. Посмотреть список поддерживаемых устройств можно по ссылке. После добавления драйверов, получим примерно следующую картинку.

print-server-drivers-complete

Обратим внимание на вкладку Driver Isolation (Изоляция драйвера), где у нас, драйверы по умолчанию помечены флагом «shared» т.е. находятся в неком изолированном режиме с общим доступом. Технология изоляции драйвера или Printer Driver Isolation (PDI), позволяет выводить работу принтеров в отдельный процесс PrintIsolationHost.exe, отдельно от диспетчера печати spoolsv.exe, и других драйверов на сервере, т.е. если возникает проблема в драйвере, то она затрагивает только процесс, который подгрузил этот драйвер, но не саму службу печати spoolsv.exe, которая при этом, остается работоспособной.

И в случае режима shared (общий доступ) все драйверы принтера настроены на работу с одним, общим экземпляром процесса PrintIsolationHost.exe, но отдельно от диспетчера печати. Данный режим является рекомендуемым Microsoft. В случае, возникновения проблем с драйверами, несовместимостью и частым падением принтеров, особенно в терминальном режиме, можно попробовать использовать режим isolated (изолированный), где уже каждый драйвер принтера, настроен на использование своего собственного экземпляра процесса PrintIsolationHost.exe и так же отдельно от диспетчера печати (spooler).

При установленном флаге «none», драйверы принтеров загружаются как обычно, при помощи диспетчера печати (spooler), т.е. если падает процесс spoolsv.exe, то это затрагивает работу сразу всех принтеров на сервере.

Теперь, после добавления корректных драйверов можно  приступать к установке принтеров. Для этого снова запускаем уже знакомый нам мастер добавления принтеров, выбираем добавить TCP/IP принтер или веб принтер по его IP-адресу. Затем выбираем тип устройства: Auto detect — автоматическое определение параметров или TCP/IP Device, в поле «host name or IP address» вводим IP-адрес сетевого принтера. Галочку Auto detect the printer driver to use (Автоматический поиск драйвера принтера) оставляем по умолчанию активной или снимаем. В данном случае она не препятствует процессу добавления «правильного» драйвера.  Жмем Next.

print-server-printer-address

На следующем экране, выбираем ранее установленный универсальный драйвер HP или Kyocera из списка или добавляем новый. Жмем Next.

print-server-printer-driver

Затем, задаем имя принтеру и добавляем его в общий доступ, указав имя расшаренного ресурса, физическое расположение и комментарий. По этой информации пользователи смогут идентифицировать нужный им принтер в службе каталогов и добавить его к себе в систему. Жмем Next.

print-server-printer-name-and-sharing

Соглашаемся с предложением установить принтер. Жмем Next и дожидаемся окончания процесса установки.

print-server-printer-found

Затем, что бы принтер был доступен в Active Directory для выбора, необходимо его опубликовать. Для этого переходим в свойства принтера на вкладку Sharing и отмечаем галочку List in Directory (Внести в Active Directory) и жмем Apply (Применить).

print-server-printer-active-directory

Проделываем ту же операцию для всех принтеров в организации. Можно выделить все принтеры сразу и по правой кнопке сказать: List in Directory. В итоге, можно получить примерно следующий список.

print-server-printer-managment

Теперь, на клиентском компьютере в домене, пользователь сможет увидеть нужный ему принтер в списке и установить его.

print-server-add-printer-client

Но это в теории, или по крайней мере так было раньше! На практике, при добавлении сетевого принтера под доменной учетной записью, нередко можно получить следующую ошибку:

Подключение к принтеру. Установленная на данном компьютере политика не позволяет подключение к данной очереди печати. Обратитесь к системному администратору.

Или английский вариант:

Connect to Printer. A policy is in effect on your computer which prevents you from connecting to this print queue. Please contact your system administrator.

print-server-сonnect-to-printer-error

Связано это с тем, что 12 июля 2016 года Microsoft выпустила обновление безопасности KB3170455, устраняющее критическую уязвимость в системе печати, что повлекло за собой новые требования к безопасности драйверов принтера, а именно:

1. Драйвер принтера должен быть доверенным и подписан цифровой подписью. Процесс установки проверяет наличия хешированных файлов в пакете драйвера, и если обнаруживает не хешированные (без цифровой подписи), то выводит сообщение об ограничениях существующей политики. В случае универсального драйвера от HP проверка на цифровую подпись файлов в пакете проходит успешно и принтер ставится без проблем, а вот при попытке установить на клиенте принтер от Kyocera, где в качестве драйвера используется Kyocera Universal Classic Driver, который, кстати говоря на сайте числится как ‘signed’ вылезает ошибка выше.

print-server-sha-digital-signature-driver-printer

2. Драйвер принтера должен быть упакованным, спецификация (package-aware v3). При попытке установить не упакованный драйвер (non-package-aware v3) получим сообщение о недоверии к принтеру и запрос на повышении прав позволяющий установить драйвер с административной учетной записью.

print-server-trust-printer

Проверить упакован драйвер принтера или нет, можно в консоли управления принтерами (Printer Managment) в разделе Drivers, колонка Packages. Как видим, драйвер Konica Minolta  находится в состоянии false.

print-server-printer-packages

Решить проблему с установкой не доверенных драйверов принтеров на клиентских компьютерах, нам поможет включение групповой политики: Point and Print Restriction (Ограничения указания и печати), которая находится по адресу:

Computer ConfigurationPoliciesAdministrative TemplatesPrinters (Конфигурация компьютераПолитикиАдминистративные шаблоныПринтеры).

Отмечаем галочки напротив Users can only point and print to these server (Функцию указания и печати можно использовать только на этих серверах) и через точку с запятой, указываем полные доменные имена серверов печати (FQDN). В нашем примере это: prints.test.ru В поле Security Promts (Запросы безопасности), параметрам «Then installing drivers for a new connection» и «Then updating drivers for a exsiting connection» (При установке/обновлении драйверов для нового подключения) выставляем: Don’t show warning or elevation promt (Не показывать предупреждение или запрос на повышении прав).

print-server-print-and-point-restrictionsНе лишним будет так же включение политики: Package Point and Print — Approved servers (Функция указания и печати для пакетов — Разрешенные серверы) которая находится там же по адресу: Computer ConfigurationPoliciesAdministrative TemplatesPrinters. Данная политика полностью независима от Point and Print Restriction и распространяется только на пакетные драйверы, что в итоге помогло снять ошибку возникающую во время установки универсального драйвера от Kyocera.

В поле Enter fully qualified server names (Введите полные доменные имена серверов) задаем имя сервера печати. Жмем применить. На принт-сервере и на клиентских ПК запускаем принудительное обновление политик при помощи gpupdate /force. После чего установка принтеров должна происходить без вопросов.

print-server-print-and-point-approved-servers

3) Консоль управления Print Managment. Добавление принтеров в пул (Print Pooling);

Print Pooling — это технология позволяющая объединять несколько принтеров в один логический, что может оказаться полезным в организациях с большим объемом печати и большим количеством печатающих устройств. Например, в ситуации когда есть 5-ть одинаковых принтеров и не понятно, какой из них загружен печатью, а какой свободен, один логический принтер установленный в системе позволяет автоматически определять свободный принтер в пуле, что в итоге экономит время между решением отправить задание на печать и фактически самой печатью.

Для того что бы объединить несколько принтеров в пул, переходим в раздел Printers нашего принт-сервера и добавляем как обычно новый принтер в систему либо выбираем существующий. Затем переходим на вкладку Ports (порты) и добавляем новый TCP/IP-порт соответствующий IP-адресу другого принтера в будущем пуле.

print-server-add-ports

Выбираем Standart TCP/IP Port и жмем New Port… Затем прописываем IP-адрес принтера, жмем Next и Finish. Добавляем столько портов сколько нам нужно в пуле.

print-server-add-print-name-ip-address

Теперь переходим в свойства будущего логического принтера, на вкладку Ports (Порты) и отмечаем чекбокс Enable print pooling (Разрешить группировку принтеров в пул), затем дополнительно выбираем ранее созданный порт 192.168.0.210 и жмем Apply (Применить);

print-server-enable-printer-pooling

Таким образом мы добавили два физических принтера в пул, и получили на выходе один логический.

4) Консоль управления Print Managment. Установка принтеров при помощи групповой политики;

Что если в нашей организации 50-100 и более компьютеров, а пользователи, как это не редко бывает сами не хотят / не умеют или не знают какой из принтеров в каталоге им необходимо установить? В данном сценарии нам поможет инструмент установки принтера при помощи групповой политики. Например, если известно, что у определенного пользователя или группы должен быть установлен определенный принтер, то можно заранее в автоматическом режиме развернуть нужные принтеры, незаметно для пользователя и без прямого вмешательства системного администратора. Для этого необходимо авторизоваться на сервере-печати под доменной учетной записью с правами Print Operators или выше, затем перейти в консоль Print Managment, отметить нужный принтер и по правой кнопке выбрать пункт Deploy with Group Policy (Развернуть с помощью групповой политики). В качестве примера, проделаем данную операцию для принтера «Операторы». В поле GPO name выберем объект групповой политики на который будет распространяться политика автоматической установки принтера. Я выберу заранее созданный объект Operator, который в свою очередь привязан к подразделению Operators, внутри которого находятся объекты пользователей для которых и производится установка принтера.

print-server-deploy-with-group-policy1

Отмечаем галочкой на кого будет распространяться политика подключения принтера, на пользователей или компьютеры. Жмем добавить, применить, ОК.

print-server-deploy-with-group-policy2

Перезапускаем клиентский компьютер и видим что принтер «Операторы» успешно добавлен в сиcтему.

5) Перенос конфигурации с одного сервера печати на другой;

В случае, замены сервера печати или аварийной ситуации может потребоваться быстро восстановить существующую конфигурацию на другой сервер. И дабы сократить время восстановления, желательно уже иметь в запасе резервную машину с установленной службой печати и заранее экспортированным файлом резервной копии в специальном формате .printerExport. Данный файл содержит полную копию всех установленных принтеров, портов и драйверов позволяющих развернуть аналогичную конфигурацию на другом сервере. Для того что бы получить такой файл, необходимо перейти в корень локального сервера утилиты Print Managment, в нашем случае ‘prints (local)’, щелкнуться правой кнопкой и выбрать Export printers to a file… (Экспортировать принтеры в файл). Следовать указаниям мастера и получить на выходе файл резервной копии.

print-server-export-printers-to-a-file

В рамках данной статьи, текущий (исходный) сервер у нас имеет сетевое имя: prints, новый, конечный, куда переносится конфигурация: prints-new, таким образом шаги по переносу данных с одного принт-сервера на другой будут следующими:

  • На резервном (новом) сервере, поднимаем роль службы печати и документов, если она не была добавлена ранее.
  • На старом сервере отменяем публикацию в Active Directory, снятием галочки List in Directory в свойствах каждого установленного принтера либо выделяем все принтеры сразу и по правой кнопке выбираем: Remove from Directory;
  • Выводим, если это возможно старый сервер из домена, меняем сетевое имя на prints-old, перегружаемся. Если данная возможность не доступна, например в случае физического выхода из строя сервера, то удаляем компьютер/сервер на контроллере, например из оснастки «Active Directory Users and Computers» в контейнере Computers. На предложение удалить все вложенные объекты (Confirm Subtree Deletion) отвечаем утвердительно.
  • На новом сервере, куда переносим конфигурацию меняем сетевое имя на prints, добавляем в домен.
  • Восстанавливаем экспортированный ранее файл .printerExport на новом сервере. (Import printers from a file…). В процессе импорта есть возможность сразу опубликовать принтеры для общего доступа в службе каталогов (List in directory). После чего, проверяем работу принтеров на новом сервере.

6) Устранение неполадок в работе службы печати;

Что касаемо, неполадок возникающих в процессе работы службы печати и их устранении, то здесь писать особо нечего, т.к. все сводится буквально к нескольким шагам, по остановке службы печати, зачистке очередей печати в %windir%System32spoolPRINTERS и последующем старте службы, что известно практически каждому админу и не только. Для полноты обзора, и для совсем  «зеленых» товарищей приведу всем известную последовательность команд :)

Запускаем командную строку — cmd.exe;

Останавливаем службу печати:

Чистим очередь печати, удаляя *.SHD, *.SPL, *.TMP файлы внутри директории,  командой:

del /q /f %windir%System32spoolPRINTERS*.*

Запускаем службу печати:

Либо делаем профилактический рестарт службы, без зачистки очереди:

net stop spooler & net start spooler

Можно сделать батник для запуска а автоматическом режиме. Сохраняем файл например под именем spool.cmd.

setlocal
net stop spooler
del /q /f %windir%System32spoolPRINTERS*.*
net start spooler

Перезапустить службу можно и при помощи gui интерфейса, в оснастке «службы» — services.msc, а почистить папку PRINTERS в проводнике, но как по мне в консоле или батником быстрее.

  • Введение
  • Установка службы печати
  • Администрирование службы печати
    • Установка драйверов
    • Установка принтера на сервере печати
    • Настройка принтера
  • Устранение неполадок
    • Измените порт WSD на TCP/IP
      • Добавить порт TCP/IP принтера
      • Изменить порт принтера
    • Очистить очередь (Spooler)
  • Заключение

Содержание

  1. Введение
  2. Установка службы печати
  3. Администрирование службы печати
  4. Установить драйверы
  5. Установка принтера на сервере печати
  6. Настройка принтера
  7. Устранение неполадок
  8. Измените порт WSD на TCP/IP
  9. Добавьте порт TCP/IP принтера
  10. Измените порт принтера
  11. Очистить очередь (спулер)
  12. Заключение

Введение

В этой статье мы увидим, как установить и настроить сервер печати на Windows Server.

Установка роли службы печати и сканирования документов добавляет административную консоль для управления сервером печати. ​​

Эта служба не требуется для установки и совместного использования принтера с сервера Windows, ее можно выполнить напрямую через панель управления.

Установка службы печати

Из диспетчера серверов, куда вы хотите установите службу печати, нажмите “Добавить роли и компоненты 1”.

При запуске мастера нажмите “Далее 1” .

Выберите вариант на основе роли 1 или функции 1 и нажмите “Далее 2”.

Выберите сервер 1 и нажмите Далее 2.

Установите флажок для печати и сканирования документов 1.

Щелкните “Добавить компоненты” 1.

Выбрана роль служб печати, щелкните “Далее 1”.

Пропустите список функций, нажав кнопку “Далее 1”.

Отображается сводка служб печати, нажмите” Далее 1 “.

Начиная с Windows 2012 Server, вы можете использовать драйверы типа 4, которые упрощают развертывание принтеров с использованием портов WSD.

Выберите службу сервера печати 1 и нажмите Далее 2.

Нажмите кнопку «Установить 1».

Подождите, пока устанавливается служба печати…

Установка завершена, выйдите из мастера, нажав кнопку “Закрыть 1”.

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

Теперь, когда служба печати установлена, мы увидим, как ее администрировать с помощью консоли управления печатью.

Откройте консоль, доступная из меню “Пуск”.

После открытия консоли распакуйте узел 1 “Серверы печати” для доступа к локальному серверу.

Теперь посмотрим, как добавлять драйверы и принтеры.

Обычно я сначала добавляю драйверы на сервер, а затем устанавливаю принтер, это можно добавить драйверы во время установки принтера.

Установить драйверы

Получить драйверы, которые вам нужны, в зависимости от моделей принтера и копировальные аппараты, которые вы собираетесь установить. Если ваш компьютер состоит из 32-разрядных рабочих станций, вы также должны загрузить драйверы x86.

В консоли управления печатью щелкните правой кнопкой мыши Драйверы 1 и нажмите Добавить Драйвер 2.

При запуске мастера добавления драйвера принтера нажмите Далее 1.

Выберите тип процессора 1, затем нажмите Далее 2.

Щелкните предоставленный диск… 1, чтобы выбрать драйвер.

Выберите файл драйвера inf 1 и нажмите “Открыть 2”.

Нажмите OK 1, чтобы подтвердить выбор файла.

Выберите доступный принтер 1 и нажмите Далее 2.

Нажмите Готово 1, чтобы подтвердить установки драйвера и закройте мастер.

Теперь драйвер добавлен на сервер.

При необходимости повторите ту же операцию для установки 32-разрядного (x86) драйвера. Рекомендуется установить ту же версию драйвера.

Установка принтера на сервере печати

Теперь, когда у нас есть драйвер для установки, мы увидим, как добавить принтер.

Щелкните правой кнопкой мыши “Принтеры 1” и выберите “Добавить принтер 2”.

При запуске мастера выберите метод установки, для сетевого принтера с IP-адресом выберите Добавить принтер TCP/IP или веб-службу по IP-адресу или имени хоста 1 и нажмите Далее 2.

Выберите тип устройства 1, введите IP-адрес 2 и нажмите Далее 3.

Начиная с Windows 10/2016, когда тип устройства установлен автоматически, сервер печати попытается установить принтер в режиме Web Service Printer и создать порт WSD. Этот режим позволяет подключать и воспроизводить сетевые устройства. На сервере печати с большим количеством принтеров рекомендуется выбрать тип устройства TCP/IP.

Дайте принтеру имя 1, задайте имя общего ресурса 2 и нажмите Далее 3.

Отображается обзор параметров, также видно, что драйвер был автоматически обнаружен при модельный уровень. Нажмите Далее 1, чтобы подтвердить добавление принтера..

Дождитесь установки принтера…

После установки принтера закройте мастер, нажав кнопку« Готово »1.

Принтер доступен из узла” Принтеры 1 “.

На скриншоте ниже мы видим, что это драйвер типа 4, потому что копировальный аппарат был установлен в режиме автоматического обнаружения и был создан порт WSD.

Чтобы мы могли увидеть разницу, я установил на сервере второй копировальный аппарат, но на этот раз с указанием типа порта. Перейдите к узлу Порты 1 в Консоли управления печатью. Мы видим два добавленных порта, связанных с копировальными аппаратами 2.

Настройка принтера

В списке принтеров, доступных на сервере печати, щелкните правой кнопкой мыши принтер 1, чтобы настроить его, и выберите Свойства 2.

Вкладка« Общие »позволяет настроить имя принтера, видимого с сервера, отображает сводку функций и запускает печать тестовой страницы.

Вкладка Sharing используется для настройки имени SMB.

Вкладка” Порты “позволяет изменять и настраивать порт принтера на сервере печати. ​​

Вкладка” Дополнительно “позволяет вам настроить используемый драйвер, а также параметры печати по умолчанию (черно-белая, двусторонняя….).

На вкладке” Безопасность “можно настроить разрешения для принтера. r как права NTFS для папки.

Устранение неполадок

Измените порт WSD на TCP/IP

Невозможно преобразовать порт, для этого необходимо добавить порт TCP/IP на сервере печати и измените порт принтера.

Добавьте порт TCP/IP принтера

Щелкните правой кнопкой мыши Порты 1 и щелкните Добавить порт 2.

Выберите Стандартный порт TCP/IP 1 и нажмите Добавить порт 2.

При запуске мастера нажмите« Далее 1 ».

Введите адрес принтера 1 и нажмите Далее 2.

Щелкните Завершите 1, чтобы подтвердить добавление порта.

Измените порт принтера

Ouvrir les propriétés de l’imprimante.

Идти на вкладке «Порты» установите флажок только что созданного порта 1 и нажмите «Применить 2»..

Порт принтера изменен 1, нажмите OK 2, чтобы закрыть окно свойств.

Очистить очередь (спулер)

В некоторых случаях показ блокируется службы печати сервера, вот как очистить файлы.

Эта манипуляция удалит все отложенные показы.

Пакетно:

 net stop spoolerdel% systemroot%  System32  spool  printers  */Q/F/Snet start spooler 

В PowerShell:

 Stop-Service spoolerRemove-Item -Path $ env: windir  system32  spool  PRINTERS  *. * -ForceStart-Service spooler 

Заключение

Сервер печати готов, все, что вам нужно сделать, это автоматически развернуть принтеры в GPO или в сценариях.

Если вы хотите регистрировать свои впечатления, Papercut предлагает несколько решений:

  • Papercut NG, который представляет собой комплексное решение для управления квотами и статической (оплаты).
  • PrinterLogger позволяет вам регистрировать показы бесплатно в файл CSV.

Также можно регистрировать показы в событиях Windows, активировав рабочий журнал в журналах приложений и службах/Microsoft/Windows/PrintService.

Цитата
Сообщение от kroniel
Посмотреть сообщение

Там пробегись по всем вкладкам журналы виндовс и по времени события поищи. Например отказанно в доступе или какая то ошибка.

Добавлено через 12 минут
Попробуйте удалить всё в папке C:WINDOWSsystem32spoolPRINTERS

kroniel, я уже все это делал. Скорее всего, тут очередной неисправимый глюк микрософта, вернее, исправимый теми, кто кодит винду и имеет закрытую документацию — индусы, т.е. Может я и перефантазировал с этим предположением, но уже не раз сталкивался с неустранимыми глюками, а точнее — с отсутствием известных решений. Встроенными средствами устранения неполадок ничего не решается, а решать это копированием файлов с рабочей системы и ковырянием реестра не совсем правильно, как мне кажется. Да и сохранить зависимости не повредив реестр вряд ли удастся.

Цитата
Сообщение от kroniel
Посмотреть сообщение

Добавлено через 12 минут
При установке «Службы печати» что происходит?

Она физически отсутствовала, не было даже файлов службы в system32 и записей в реестре. Я скопировал файлы и те записи реестра, которые я нашел и относящиеся к этой службе. Службу можно запустить, но она через пару секунд затыкается и толку от нее никакого, да и в ее описании текст ошибки, вместо родного описания и сама она обзывается spooler, вместо «Диспетчер печати». Поэтому я ее и назвал фейковой, т.к. обманул винду, ведь я не знаю где какие зависимости этой службы в реестре и вообще какие еще файлы должны быть раскиданы по тысячам системных папок.

Рис. 1. Схема сети.

Рис. 1. Схема сети.

Настроить сервер печати для Windows Server можно следующим образом.

Выберите команду «Пуск» -> «Администрирование» -> «Управление данным сервером«.

В открывшемся окне нажмите кнопку «Добавить или удалить роль«, после чего нажмите кнопку «Далее» в открывшемся окне «Мастер настройки сервера«.

Рис. 2. Окно управления сервером.

Рис. 2. Окно управления сервером.

В списке «Роль сервера» выберите параметр «Сервер печати» и нажмите кнопку «Далее«.

Рис. 3. Выбор ролей сервера.

Рис. 3. Выбор ролей сервера.

В новом окне необходимо выбрать клиентскую операционную систему, для которой будут установлены логические принтеры и драйверы. Выберите переключатель «Все клиенты«. Щелкните на кнопке «Далее«.

В новом окне следует щелкнуть на кнопке «Далее«, после чего откроется окно «Мастер установки принтеров«. Эта программа установки используется для подключения локальных или сетевых принтеров к серверу на базе Windows Server. Щелкните в окне мастера кнопку «Далее«.

В следующем окне следует выбрать тип устанавливаемого принтера. При настройке сервера печати для отправки заданий непосредственно на принтер выберите переключатель «Локальный принтер» (принтер с собственным сетевым адаптером также считается локальным). Переключатель «Сетевой принтер, подключенный к другому компьютеру» следует выбрать при передаче заданий печати второму серверу печати. Например, с сервера печати регионального офиса можно передавать задания печати в центральном офисе. Щелкните кнопку «Далее«.

Если принтер, подключенный к серверу, не был обнаружен, откроется новое окно, в котором необходимо вручную выбрать локальный порт принтера. Если у принтера есть собственный сетевой адаптер, и вы отправляете задания для печати по сети, выберите тип порта в раскрывающемся меню «Создать новый порт«. Если тип порта неизвестен, рекомендуется выбирать параметр Standard TCP/IP Port.

При выборе параметра Standard TCP/IP запустится программа «Мастер добавления стандартного порта TCP/IP принтера«. С помощью этого мастера следует указать IP-адрес принтера и имя порта, к которому будет осуществляться подключение. При этом IP-адрес принтера обычно указываются в параметрах принтера системным администратором.

После указания IP-адреса мастер сделает попытку подключения к принтеру, после чего работа мастера будет завершена, и новый принтер станет доступным для печати.

После установки принтера необходимо настроить доступ к нему конечных пользователей. Принтер для операционной системы является таким же логическим ресурсом, как файл или каталог, поэтому в процессе поиска принтера конечные пользователи могут просмотреть ресурсы сервера печати (при наличии соответствующего разрешения доступа). Кроме того, на клиентской системе можно настроить доступ к принтеру с помощью мастера «Установка принтера» («Пуск«-> «Панель управления» -> «Принтеры и факсы«) или с помощью команды «net send«, используемой в командной строке Windows. Также принтер можно опубликовать в службе каталогов Active Directory, что пригодится при поиске нужного принтера в больших организациях, в которых работают тысячи сотрудников.

Для управления параметрами принтера в Windows Server нужно правой кнопкой мыши на значке принтера щелкнуть и выбрать команду «Свойства«. В новом окне можно настроить различные свойства принтера, включая разрешения печати, параметры доступа, порты и многое другое.

Рис. 4. Свойства принтера.

Рис. 4. Свойства принтера.

Выражаем благодарность автору Markuzya за предоставленный материал.

Обновлено 24.07.2019

перезапуск службы печати

перезапуск службы печати

Добрый день уважаемые читатели блога pyatilistnik.org, сегодня хочется рассказать о том как выполнить Перезапуск службы печати в Windows 7 — 10, а также в Windows Server 2008R2 — 2012R2, на английский манер данная служба называется print spooler. Для чего вам может потребоваться выполнить перезапуск службы печати, бывает та, что в какой-то момент принтер перестает печатать и его очередь печати просто забивается ли может такое возникнуть если клиент заходит на сервер терминалов, пытается печатать и чем-то тоже забивает спуллер, в данном случае и нужно произвести перезапуск службы. Ниже представлен рисунок изображающий диспетчер очереди печати, и в нем как вы может обратить внимание ошибка.

Перезапуск службы печати в Windows -01

Перезапуск службы печати в Windows -01

Есть два способа перезапуска графический и через командную строку.

1. Как перезапустить службы печати Windows через оснастку службы

Открываем-Пуск-Панель управления-Администрирование-Службы

Перезапуск службы печати в Windows -02

Перезапуск службы печати в Windows -02

Перезапуск службы печати в Windows -03

Перезапуск службы печати в Windows -03

Перезапуск службы печати в Windows -04

Перезапуск службы печати в Windows -04

либо нажимаем win+R и пишем services.msc и жмем enter. У вас откроется оснастка Службы.

Перезапуск службы печати в Windows -05

Перезапуск службы печати в Windows -05

Находим нашу с вами службу, а именно Диспетчер печати, видим, что статус у нее сейчас Выполняется.

Перезапуск службы печати в Windows -06

Перезапуск службы печати в Windows -06

Щелкаем правым кликом и из контекстного меню выбираем Перезапустить.

Перезапуск службы печати в Windows -07

Перезапуск службы печати в Windows -07

Служба быстро перезапустится и ваш принтер начнет снова печатать.

Перезапуск службы печати в Windows -08

Перезапуск службы печати в Windows -08

2. Как перезапустить службы печати Windows  через консоль.

Открываем cmd через Пуск.

Перезапуск службы печати в Windows -09

Перезапуск службы печати в Windows -09

Напомню запускать его нужно обязательно от имени администратора.

Перезапуск службы печати в Windows -10

Перезапуск службы печати в Windows -10

И пишем в нем две волшебные команды

net stop spooler

net start spooler

В идеале вы может написать небольшой батник, который легко можно будет запустить. Кому лень вот ссылка на скачивание: Скачать Перезапуск службы печати. Так же советую вам обратить внимание на статью Постоянно вылетает диспетчер печати Имя сбойного модуля: zSDNT5UI.dll

Не удается запустить службу печати windows

Все с запуском и остановкой службы печати я вас ознакомил, теперь покажу, что делать если у вас не удается ее запустить. Откройте свойства службы и перейдите на вкладку Зависимости. Обратите внимание, что для того чтобы она работала, требуется выполнение службы HTTP-служба и если она не работает, то системе не удалось запустить службу диспетчер печати.

не удалось запустить службу диспетчер печати

Чтобы этого избежать, откройте редактор реестра Windows и перейдите в ветку

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesHTTP

Убедитесь, что там есть параметр Start и у него значение 3, если не такое, то меняйте его на тройку.

не удалось запустить службу диспетчер печати-2

Так же вы можете запустить средство диагностики работы принтера в Windows и проверить его работу. Запускаете утилиту и жмете принтер.

служба печати windows-1

Далее выбираете нужный принтер из списка и следуете указаниям мастера.

служба печати windows-2

Как видите перезапускать запускать и устранять неполадки в службе печати Windows очень просто, если есть вопросы, то пишите их в комментариях.


Настоящий админ может спать спокойно лишь тогда, когда у него всё бэкапится, мониторится и дублируется.

Или когда он работает в хорошей команде, где всегда можно свалить вину на другого.

Так получилось, что я в своей работе использую в основном продукты Microsoft и могу сказать, что компания серьезно подходит к резервированию своих сервисов: Active Directory, Exchange DAG, SQL Always On, DFSR и т.д. Как и везде, здесь есть как весьма изящные и удачные реализации, так и явно неудобные и тяжелые. Для сервиса печати тоже есть решение, но для него необходима кластеризация на базе Hyper-V. А хотелось простого решения “из коробки”, не требующего дополнительных финансов. За основу была взята Windows 2012 R2, но скорее всего та же схема без проблем будет работать на любых серверных версиях, начиная с Windows 2008, и даже клиентских ОС от Vista и выше (привет любителям экономить бюджет!). Кому интересно — прошу под кат.

Disclaimer

Дабы уважить труд индусов

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

Немного теории

Кто не любит теорию и хочет быстрее поклацать мышью и клавиатурой, может сразу перейти к следующей части.
Как было сказано выше, официальная рекомендация на сегодняшний день — это решение с использованием кластеризации и виртуализации Hyper-V. Также ничто не мешает обеспечить отказоустойчивость сервиса печати на уровне системы виртуализации, причем не обязательно Hyper-V, но такие решения стоят денег.
Мне очень хотелось что-нибудь похожее на DHCP Failover, но для роли принт-сервера.
В интернете в целом и на хабре в частности ничего подходящего не нашлось — и пришлось изобретать самому.

Суть идеи в одном абзаце
Описанное ниже решение основано на использовании утилиты BrintBrm, входящей в стандартную поставку Windows и пришедшую на замену printmig.
Резервный сервер работает в standby-режиме и с заданной периодичностью синхронизирует настройки с основным сервером с помощью этой утилиты. Для клиентских машин в DNS создан CNAME с малым TTL, ссылающийся на основной сервер. В случае аварии основного сервера админ правит CNAME, переключая клиентов на резервный сервер. Вот, собственно, и всё.
Если тема интересна и хочется познакомиться с уже набитыми мной шишками и путями обхода граблей, прошу следовать дальше.

Before you begin, или что нужно знать о PrintBrm

Итак, какова она, эта утилита PrintBrm, главное назначение которой — прислуживать серверу печати?

  • Ухожена. Имеет GUI-воплощение, которое именуется Перенос принтеров (Print Migration) и может быть запущено из оснастки Управление печатью. GUI-вариант менее функционален и имеет проблемы с переносом портов.
  • Внимательна. По умолчанию обрабатывает ACL принтеров принт-сервера. Другими словами, если вы разрешили печатать на принтере \printserverprinter1 только сотрудникам, входящим в AD-группу Бухгалтерия, то это ограничение будет учтено импорте/экспорте. Или не будет, если поставить ключ -NOACL. При этом ACL самого сервера печати не обрабатывается независимо от ключа.
  • Капризна. На момент импорта параметров из файла на целевом сервере должен быть хотя бы один расшаренный принтер, иначе получите ошибку.
  • Нежна. Теряется, видя пробелы в пути файла. При виде кавычек, обрамляющих такой путь, огорчается и выдает ошибку 0x8007007b.
  • Скромна. Если при попытке экспорта настроек указанный файл уже существует, перезаписать его не может, спросить стесняется и также завершается с ошибкой.
  • Таинственна. Всегда возвращает exit-код, равный 0. Получается, идеальная программа.
  • Склонна к раздумьям. Может подзависнуть на стадии 100% минут на 5, а иногда и больше. Но потом одумывается и завершает работу (если, конечно, у вас хватит терпения не нажать Ctrl+C).
  • Внезапна и противоречива. Может устраивать вот такие сюрпризы.
  • Умна. Может переназначать исходные драйверы на другие. Например, с помощью XML-файла можно указать, что все драйверы HP Universal Printing PCL 5 в сохраненном файле на целевом сервере надо переназначить на HP Universal Printing PCL 6. На практике не использовал, но для кого-то может пригодиться.
  • Своенравна. Использовать ее для переноса настроек между доменами без доверия у меня не получилось, даже с ключом -NOACL. Либо не умеет в принципе, либо моя магия недостаточно сильна.
  • Познакомиться поближе можно тут и здесь, а для тех отважных, кто не стесняется спросить напрямую, есть ключ /?

Допускаю, что какие-то черты я незаслуженно обошел вниманием. Возможно, в Windows 10/2016 она стала вести себя иначе. Если есть информация, прошу поделиться.

Подготовка среды

Предполагается, что у вас уже развернута Active Directory и вы знаете как минимум 3 способа вывести ее из строя и хотя бы 2 из них были опробованы на практике.

Немного лирики

Отступая от темы статьи, замечу, что мне нравится порядок, и я за то, чтобы на каждом сетевом принтере и МФУ была наклейка, соответствующая его сетевому имени. Это упрощает работу сотрудников ИТ, когда они пытаются выяснить у пользователя, на каком именно принтере

фото котиков

важные аналитические отчеты печатаются в ядовито-кислотных тонах вместо нежно-фисташковых.

Клеить такие наклейки лучше на дно принтера, чтобы было всем было интереснее и веселее.

Также мне нравится, когда каждый сетевой принтер прописан во внутренней DNS-зоне. С этой задачей легко справится DHCP-сервер на базе Windows.
К примеру, имя принтера может быть формата msk-prn001 или sale-printer023, причем имена портов для этих принтеров на принт-сервере названы точно так же. Но это лично мои предпочтения, готов выслушать возражения в комментариях.

Будем исходить из того, что все принтеры сетевые и доступны для печати с основного и резервного принт-серверов. Пусть эти серверы называются prn-srv01 и prn-srv02 соответственно.
В качестве принт-серверов подойдут доменные машины на Windows Server не ниже 2008. В принципе подойдут и клиентские ОС, начиная с Vista, если уж очень хочется сэкономить. В примере используется Windows 2012 R2. Крайне желательно перед настройкой установить все необходимые обновления операционной системы как на серверы, так и на клиентские машины.

Вы и сами, конечно, понимаете, но кэп всё же требует обратить внимание: если принт-серверы будут виртуальными, то они обязательно должны быть разнесены по разным физическим серверам, иначе наш failover превратится просто в fail.

На prn-srv01 и prn-srv02 должна быть добавлена роль сервера печати. Мне удобнее для этого использовать командлет PowerShell:
Install-WindowsFeature Print-Services

Также на принт-серверах должен быть применен твик реестра, который исправляет ошибку 0×00000709 при обращении клиентских машин к принт-серверу по CNAME. Можно сделать это командой из статьи по ссылке выше:
reg add HKLMSYSTEMCurrentControlSetControlPrint /v DnsOnWire /t REG_DWORD /d 1
После применения команды нужно перезапустить службу Диспетчер печати.
Рекомендую выделить для принт-серверов отдельный OU и раздавать эту настройку с помощью GPP.

Запускаем оснастку DNS на контроллере домена и включаем расширенное отображение:

клик

Расширенное отображение нужно, чтобы иметь возможность задать TTL для создаваемых записей.
В DNS создаем CNAME-запись print, ссылающуюся на prn-srv01 с 5-минутным значением TTL:

клик

клик

Это имя должны использовать клиентские машины для подключения к принт-серверу. Т.е. клиент будет подключаться к адресам \printprinter01, \printprinter02 и т.д.
Чем меньше значение TTL, тем чаще клиенты будут обновлять запись и быстрее “поймут”, что надо переключиться на другой сервер печати. Мне достаточно 5 минут.
Задав слишком малое значение, вы плодите DNS-трафик в своей сети,

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

.
Альтернативный вариант добавления CNAME-записи с помощью PowerShell:
Import-Module DnsServer
Add-DnsServerResourceRecordCName -Name "print" -HostNameAlias "prn-srv01.lab.net" -ZoneName "lab.net" -TimeToLive 00:05:00

(Разумеется, lab.net меняем на ваш contoso.local или как там его)

Надо учесть, что если у вас несколько сайтов AD, то обновление DNS-записи во всех локациях займет больше времени за счет межсайтовой репликации. Форсировать процесс можно командой repadmin /syncall.

Средствами групповой политики разрешаем рядовым пользователям устанавливать драйверы с принт-сервера. О том, как это сделать, подробно написано тут.

Создаем служебную учетную запись в AD (я назвал ее svc-printsync) с неограниченным сроком действия пароля:

клик

Согласно требованиям PrintBrm, эта учетная запись должна обладать полными правами на принт-сервере, поэтому добавляем ее в

домен-админы, чтобы наверняка всё работало и прописываем пароль в поле описания, чтобы не забыть

локальную группу Администраторы на prn-srv01 и prn-srv02 (например, с помощью оснастки Управление компьютером).

Настраиваем первый сервер

Если все нужные принтеры на основном принтере уже добавлены, то можно сразу перейти к разделу о настройке второго сервера.

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

клик

Запустится мастер установки драйверов. Он интуитивно понятен, тут сами разберетесь. Обращу лишь внимание на момент с разрядностью.
Т.к. Windows 2012R2 поставляется только в x64-варианте, то драйверы тоже должны быть x64. Если же к серверу печати будут подключаться клиенты с x86-версиями Windows, не забудьте поставить соответствующий флажок:

клик

Некоторые комплекты драйверов содержат общий inf-файл и для x86, и для x64-систем, в других же присутствует разделение.

Ещё немного лирики

Многие драйверы поставляются в виде инсталлятора, но, учитывая, что эти инсталляторы ставят вместе с драйверами много всякого мусора, я стараюсь следовать принципу “необходимо и достаточно” и добавлять драйверы вручную, как описано выше.
Также в целях единообразия я по максимуму стремлюсь использовать Universal-вариант драйверов (есть практически у всех нормальных вендоров). Но с ним иногда могут быть проблемы. Так, однажды встретил баг в одной из версий HP Universal Printing PCL 6, при котором PDF-документ через EasyPrint в RDP-сеансе печатался зеркально слева направо.
Можно ещё посмотреть в сторону v4-драйверов.

Когда все необходимые драйверы добавлены, займемся портами и принтерами. Можно их добавить вручную из той же оснастки, но я рекомендую создать CSV-файл в Excel и скормить его PowerShell-скрипту. Разумеется, ничто не мешает вместо Excel использовать любой другой табличный редактор или вообще блокнот. Главное — чтобы разделитель и кодировка, указанные в скрипте, соответствовали разделителю и кодировке в CSV-файле.
Также обратите внимание, что имя драйвера в CSV-файле должно быть точно таким же, каким оно указано в оснастке Управление печатью.

Копи-паст в помощь

Пример CSV-файла

Хоть я писал выше, что мне нравится, когда все принтеры имеют унифицированные сетевые имена, в примере (поле Адрес принтера) использован винегрет из IP-адресов и имен на случай, если порядок у вас в сети

отсутствует

будет наведен чуть позже.

Сохраним эту таблицу в CSV-формате:

клик


Примечание. Несмотря на то, что в поле “Тип файла” в качестве разделителей указаны запятые, у меня Excel разделителем сделал точку с запятой. Наверно, чтобы было интереснее и веселее.

А вот сам скрипт:

CreatePrintersFromCsv.ps1

#Откуда будем загружать данные
$InputFile = 'C:ScriptsPrinters.csv'

#Разделитель и кодировка должны соответствовать формату CSV-файла
$Printers = (Import-Csv $InputFile -Delimiter ";" -Encoding Default)

#Все указанные в файле драйверы должны присутствовать на целевом сервере
ForEach ($Printer in $Printers) {
    #Текст должен соответствовать заголовкам столбцов в файле
    $PrinterName = $Printer.'Имя принтера'
    $ShareName = $Printer.'Имя общего ресурса'
    $DriverName = $Printer.'Имя драйвера'
    $PrinterAddr = $Printer.'Адрес принтера'
    $Comment = $Printer.'Комментарии'
    $Location = $Printer.'Размещение'
    #Добавляем порт
    Add-PrinterPort -Name $PrinterAddr -PrinterHostAddress $PrinterAddr -SNMP 1 -SNMPCommunity 'public'
    #Добавляем принтер
    Add-Printer -Name $PrinterName -DriverName $DriverName -PortName $PrinterAddr -Comment $Comment -Location $Location
    #и расшариваем его
    Set-Printer -Name $PrinterName -Shared $True -Published $False -ShareName $ShareName
}

Если в качестве разделителя в вашем CSV используется знак табуляции, то в скрипте надо выставить -Delimiter «`t»

Учтите, что если во время работы скрипта какой-нибудь принтер будет недоступен с сервера, то его добавление на принт-сервер займет больше времени (2-3 минуты вместо нескольких секунд)

Результат работы скрипта:

клик

Чтобы убедиться, что на этом этапе всё работает, добавляем на любую из клиентских машин общий принтер с основного принт-сервера, используя ранее созданный CNAME (например, \printprinter01), и пробуем распечатать на нем что-нибудь.

Для этой цели лучше всего подойдет фраза “Превед, я бумажко”, набранная жирным шрифтом Arial с 200-м кеглем.

Настраиваем второй сервер

Un artista copia, un gran artista roba (Пабло Пикассо)

Наш prn-srv02 пока еще не дорос до уровня gran artista, поэтому ограничимся копированием.

Хотя… можно легким движением руки…

Создаем и расшариваем хотя бы один принтер, иначе PrintBrm выдаст ошибку. Можно сделать фейковый, но при этом важно не выбрать неподходящий драйвер или порт. Например, принтер с драйвером Microsoft XPS Document Writer или портом FILE: расшарить не получится.

Создаём незатейливый скрипт синхронизации. Я предпочитаю PowerShell, но никто не запрещает сделать теплый ламповый батник.

PrintSync.ps1

#Путь к утилите PrintBrm
$ProgramPath = 'C:WindowsSystem32SpoolToolsPrintBrm.exe'

#Основной и резервный серверы
$SourceServer = 'prn-srv01'
$DestServer = 'prn-srv02'

#Файл, куда выгружаем настройки. Путь не должен содержать пробелы, т.к. утилита PrintBrm не понимает кавычки в пути файла
$ConfigFilePath = 'C:Scriptsprn-config.printerExport'

#Экспортируем принтеры в файл
$Arguments = "-s $SourceServer -f $ConfigFilePath -b"
Start-process $ProgramPath -ArgumentList $Arguments -Wait -PassThru

#Импортируем принтеры из файла
$Arguments = "-s $DestServer -f $ConfigFilePath -r -o force"
Start-process $ProgramPath -ArgumentList $Arguments -Wait -PassThru

#Прибираемся за собой
Del $ConfigFilePath

Кладем скрипт в укромное место (в примере это C:Scripts) и создаем задачу в Планировщике.
Запускать будем из-под ранее созданной учетной записи svc-printsync с наивысшими правами:

клик

Частоту выполнения определите для себя сами. Мне достаточно раз в сутки:

клик

На вкладке Действия создаем новое действие запуска PowerShell:
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe
В качестве аргументов задаем путь к скрипту со следующими параметрами:
C:ScriptsPrintSync.ps1 -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass

клик

Остальные параметры задачи на вкладках Условия и Параметры оставляем по умолчанию.
При сохранении задачи будет запрошен пароль для учетной записи svc-printsync. Вы ведь его не забыли? Если уже забыли (статья-то длинная), то

всё было сделано зря и жизнь не удалась

сбросьте его с помощью оснастки ADUC или другим удобным способом

и укажите его уже в поле описания, чтоб было спокойнее

.

Примечание

Задание не обязательно должно выполняться на резервном принт-сервере. Если у вас есть отдельный сервер для запуска регламентных процедур, можете создать задачу на нем. При этом у учётной записи svc-printsync должно быть право на вход в качестве пакетного задания на этом сервере. По умолчанию такое право есть у локальной группы Операторы архива (Backup Operators), и если в вашей среде это не изменено, то достаточно включить сервисную учётную запись в группу операторов архива того сервера, на котором будет работать задание.

В первый раз запускаем задание вручную и дожидаемся его завершения.
Для моего зоопарка, где около 50-ти принтеров разных видов, как вымирающих, так и недавно выведенных, процедура синхронизации занимает примерно 10 минут. Файл при этом весит почти 1ГБ.
Для ускорения процесса импорта/экспорта можно использовать ключ -NOBIN, который отвечает за копирование драйверов. Имеет смысл, когда парк принтеров состоит из одинаковых моделей и необходимые драйверы установлены на всех серверах.

После завершения запускаем оснастку Просмотр событий, переходим в раздел Журналы приложений и служб, открываем журнал MicrosoftMicrosoftPrintBRMАдминистратор и анализируем его на предмет ошибок и предупреждений.

И если их слишком много, то скорее чистим журнал, чтоб глаза не мозолили.

Мне попадались с кодами 20, 22, 80 и 81. Например,

такая

Как ясно из текста, возникла проблема при переносе определенного драйвера. Просматривая журнал, составляем список проблемных драйверов и ставим их руками на резервный сервер, либо заменяем другими, которые не прочь попутешествовать. У меня были проблемы лишь с HP, Kyocera и Konica Minolta, для драйверов других производителей ошибок не выявилось (может потому, что они лучше, а может потому, что у нас их просто нет).
В итоге нужно добиться одинакового списка принтеров на основном и резервном серверах и отсутствия ошибок и предупреждений в логах.

Переключаемся на резерв

Под стук топоров и скрежет вил баррикадируем дверь в свой кабинет и отключаем телефон.

Запускаем оснастку DNS и правим CNAME-запись, чтобы она указывала на резервный сервер:

клик

Через некоторое время (что вы там ставили в TTL?)

угрожающие вопли стихнут,

клиентские машины переключатся на prn-srv02

и дверь с телефоном можно будет разблокировать

.

Возвращаемся обратно

Если за время восстановления основного сервера на резервном были изменения конфигурации, которые необходимо сохранить, запускаем синхронизацию в другую сторону. Для этого в указанном выше скрипте PrintSync.ps1 меняем местами значения переменных $SourceServer и $DestServer. После переноса изменений не забудьте вернуть эти значения обратно, иначе все изменения в конфигурации принтеров на prn-srv01 будут нещадно отметаться каждую ночь злой волей судьбы.
В оснастке DNS устанавливаем для CNAME-записи print значением конечного узла prn-srv01 — и всё возвращается на круги своя.

Что в итоге?

Бурные овации руководства, подкидывание админа на руках, повышение зарплаты (автору статьи — честные 10% от прибавки)…
Ну и несколько мыслей в сторону наведения дальнейшей красоты.

Чудес, к сожалению, на всех не хватает, и данное решение — не полноценный Failover. Если в момент крушения основного принт-сервера на нем будут непустые очереди печати, то их содержимое скорее всего канет в лету и кому-то придется повторять отправку на печать.

Зато очень удобно будет прозрачно для пользователей выполнять регламентное обслуживание серверов печати.

Вы ведь следуете рекомендациям Microsoft?

Фанаты автоматизации могут пойти дальше и создать скрипт, который на входе получает имена серверов с интервалом синхронизации и остальные настройки делает сам: создает сервисную учетную запись при необходимости, задание в планировщике и т.д.

Гуру мониторинга добавят наблюдение за выполнением задачи синхронизации и ошибками в логах.

Любители копать глубже могут продумать двухстороннюю синхронизацию в духе репликации AD с отслеживанием времени изменений по каждому принтеру. PrintBrm тут уже не поможет, но никто не отменял PowerShell!

Вишенкой на торте будет автоматическая установка принтеров на клиентских машинах с помощью GPP с нацеливанием на группу AD. Добавляем пользователя в группу — и ему прилетает нужный принтер. Правда, это уже другая история, выходящая за рамки статьи.

Надеюсь, для кого-то моя публикация окажется полезной. Желаю всем поменьше сбоев и жду вопросов и предложений в комментариях.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Каким образом у вас организовано резервирование сервера печати?


7.77%
виртуализация/кластеризация средствами Microsoft
8


8.74%
виртуализация/кластеризация сторонними продуктами
9


2.91%
репликация средствами Microsoft
3


0.97%
репликация сторонними продуктами
1


14.56%
мне достаточно бэкапа
15


29.13%
не резервирую никак
30


33.01%
не использую принт-сервер
34


2.91%
другое (указать в комментариях)
3

Проголосовали 103 пользователя.

Воздержались 30 пользователей.

Понравилась статья? Поделить с друзьями:
  • Настройка службы времени windows server 2012 r2
  • Настройка службы времени ntp windows server 2019
  • Настройка службы времени ntp windows server 2016
  • Настройка сетевого принтера windows 10 на другом компьютере
  • Настройка службы времени ntp windows server 2008 r2