Сервер печати windows server 2016 настройка

В данной заметке будем устанавливать и настраивать службу печати в Windows Server 2008/2012R2/2016. Научимся грамотно добавлять драйверы на сервер, объединять принтеры в пул. Управлять принтерами при помощи групповой политики, устранять неполадки в работе службы.

В данной заметке поговорим о внедрении и последующем обслуживании сервера печати (по др. принт-сервера) полезной серверной роли в 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 в проводнике, но как по мне в консоле или батником быстрее.

Сервер Windows Server 2016 Core развернут в Hyper-V с динамической памятью 512Мб — 1536Мб. В финальном варианте виртуальная машина использует ~1200 Мб.

Напоминаю, основные настройки в Core выполняются через sconfig. Добавление роли выполняем через powershell (подробнее)

Install-WindowsFeature -name Print-Server, Print-Services -Restart

Далее запускаем консоль Управление печати и подключаемся к нашему серверу

.printmanagement.msc /computer:srvpr1

Добавляем необходимые принтеры, драйверы для разных платформ. ВНИМАНИЕ! Крайне рекомендую использовать как можно чаще один и тот же драйвер для разных принтеров. К примеру для HP 426, HP 428 использовал HP Universal Printing PCL 6. Также следим, чтобы драйвер принтера был упакован (от этого в дальнейшем зависит возможность установить драйвер от имени пользователя)

Далее открываем общий доступ к каждому принтеру и вносим данные о них в Active Directory

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

Чтобы пользователям было удобнее искатьустанавливать принтеры самостоятельно через меню Панель управления > Устройства и принтеры > Добавление принтера необходимо заполнить поле Размещение во вкладке Общие в формате Город/Адрес/Кабинет

Это удобно, когда принтеры и рабочие станции находятся в разных подсетях и в меню добавления принтеров либо ничего нет, либо их тыща (если у вас огромный лес). Настройки в GPO чтобы это работало выполним позднее.

Далее переходим в Редактор управления групповыми политиками и приступаем к развертыванию принтеров в разделе Конфигурация пользователя > Настройка > Параметры панели управления > Принтеры

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

Казалось бы, всё просто. Но тут начинаешь ловить ошибки в журналах «0x800702e4 Запрошенная операция требует повышения«

Или «0x80070bcb Указанный драйвер принтера не найден в системе. Необходимо скачать драйвер»

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

Переходим в Конфигурация компьютера > Политики > Административные шаблоны > Принтеры > Ограничения указания и печати ВКЛЮЧЕНО

Указываем полное FQDN-имя нашего принт-сервера или серверов через «;»

Переходим в Конфигурация компьютера > Политики > Административные шаблоны > Принтеры > Функция указания и печати для пакетов ВКЛЮЧЕНО

Также вводим наши сервера печати

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

Переходим в Конфигурация компьютера > Политики > Административные шаблоны > Принтеры > Заполнение строки поиска принтеров ВКЛЮЧЕНО

Переходим в Конфигурация компьютера > Политики > Административные шаблоны > Принтеры > Размещение компьютера ВКЛЮЧЕНО и вводим наше географическое расположение Москва

Теперь при ручной установки принтера, пользователь увидит только те принтеры, что находятся в Москве.

Осталось сделать последний штрих. Разрешить неадминистраторам установку принтеров. Таким образом мы получаем настройку, в которой любой пользователь может выполнить установку принтера из указанных нами серверов печати без запроса на повышения прав и без всяких уведомлений. А тут описано, что у многих возникли сложности после получения обновления безопасности 2021-08 Cumulative Update

Переходим в конфигурация компьютера > Настройка > Конфигурация Windows > Реестр > Создать элемент реестра

SOFTWAREPoliciesMicrosoftWindows NTPrintersPointAndPrint

Ключ RestrictDriverInstallationToAdministrators со значением 0

Выполняем gpupdate /force на рабочих станциях и проверяем установку принтеров.

Прочее

После включения журнала печати на сервере печати, обнаружил что в событиях отсутствует информация о названии документа.

Исправим это недоразумение, создав новый DWORD параметр ShowJobTitleInEventLogs со значением 1 в кусте HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTPrinters

Перезагружаем Диспетчер печати и проверяем события 307 в журнале PrintService

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

параметр ObjectGUID

Далее добавляем его в список разрешенных принтеров в групповой политике Конфигурация компьютера > Политики > Административные шаблоны > Система > Установка драйвера > Разрешить пользователям, не являющимся администраторами, устанавливать драйверы для этих классов установки устройств

Попадалась ещё ошибка

Ошибка Элемент предпочтения пользователь «HP426» в объекте групповой политики «Printers {A73397DA-8E68-40E3-8A01-551AB54639A1}» не применен по причине ошибки с кодом ‘0x8007011b <unknown-message-text>’ Эта ошибка была отключена.

Проследите, что установлены последние обновления

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

Проверяем упакован ли драйвер. Если «false» — переходим в редактор реестра сервера печати HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPrintEnvironmentsWindows x64DriversVersion-3 находим драйвер и увеличиваем значение ключа PrinterDriverAttributes на единицу. К примеру было «0», меняем на «1».

И перезагружаем службу «Диспетчер печати» (spooler)

Printing and file sharing are the essential sectors for users, groups, organizations in a network. Like in a network, there are a large number of printers with different varieties and there are an enormous number of groups, users who need to use. As an administrator, you should know how to install and configure print services in Windows Server to manage tens or hundreds of printers in a network. As most of the modern printers have a network interface card and Internet Protocol (IP) address can be assigned to the printers. Therefore, all users through the network can access and use them. One of the most handful features in print services is print pooling by which a number of printers are added to a pool. When one is performing a print job, other printers perform the next print jobs sent to them. As you can grant priority access to a printer from 1 through 99. When there are two print jobs in the print server, the user with higher priority will get the job done before the another. In this lesson, we will learn + understand how to install and configure print services fully in Windows Server 2016. Let’s get started.

  • Don’t Miss: Sharing files & folders in Windows Server 2016
  • MCSA Lab Manual Articles.

Understanding Windows Print Architecture

Microsoft uses some terms referring to components of print services architecture, better to know for the certification exams or working with them. The Components involved with the print services are the following:

1. Print Device: printer device is actual hardware that produces hard-copy documents on paper.

2. Printer: It is the software interface through which a computer communicates with the print device.

3. Print Server: It is a server or a standalone computer which receives print jobs from clients that are attached locally or connected to the network.

4. Driver: It is a device driver that converts print jobs generated by an application to appropriate string of commands for a specific printer.

Attaching Printer Device

These are four fundamental configurations, you can configure a printer to work. As a result, the printer works depending on your configurations to print documents.

1. Direct Printing is the simplest way of using a printer device. That a printer is attached directly to a Server. The Server sends a print job to the printer, as a result, it produces the hard-copy document.

2. Local-attached printer sharing: Except direct printing, you also need to share printer and printer device with other clients on the same network. In this arrangement, the Server which is directly attached to the printer device works as a print server. Doing this, you can share the print server’s printer. Consequently, the clients can use the print device through server’s print interface. As a result, the advantage of this arrangement is that everyone from everywhere in the network has access to the printer device. Also, it is handful when you have light printing jobs.

3. Network-attached printing: Unlike the previous kinds of attaching the printer device with computer by USB or other port, here you don’t need to attach them. Instead, you can attach a printer device directly to a network. As a result of attaching printer device to a network, it becomes the network component. Most of the printer devices nowadays have network interface card (NIC) which allow you to attach a network standard cable to it. Due to this capability, a print device can have their own IP addresses. Also, you can buy NIC card separately and attach to a printer device. If the printer device has none of this capabilities a standalone print server is possible to be used.

Finally, by network attached printing you’ve to choose a computer to act as print server or let all or everyone uses the printer directly (or be print server) by sending print jobs and seeing their own queue. If you’ve chosen to be the print server everyone or multiple users then there are many disadvantages, which includes:

  • Users examining the print queue see only their own jobs.
  • Users are oblivious of the other users accessing the print device. They have no way of
    knowing what other jobs have been sent to the print device or how long it will be until
    the print device completes their jobs.
  • Administrators have no way of centrally managing the print queue because each client
    has its own print queue.
  • Administrators cannot implement advanced printing features, such as printer pools
    or remote administration.
  • Error messages appear only on the computer that originated the job that the print
    device is currently processing.
  • All print job processing is performed by the client computer rather than being partially
    offloaded to an external print server.

4. Network-attached printer sharing: In this method, you assign a computer as a print server and use it to serve clients means when you install a printer on a computer(that becomes the print server), you will share it on the network and configure it to access the printer directly through TCP (Transmission Control Protocol) port. When done, you just share the printer for the clients and manage them for accessing + managing.

First of all, we need to install Print and document services role on Windows server 2016. Consequently you can use Windows server print services.

Role Installation

1. Open Server Manger and click on Add roles and features to install Print and document services role.

Add roles and features

Add roles and features

2. In the Welcome we’ve got nothing to do at all. Click on Next button. In Select destination server page, elect the Select a server from the server pool. Select the server you want to install the role on from the list below. Click on Next button.

Select a server from server pool

Select a server from server pool

3. Put a check mark in the box next to Print and document services. A small windows pops up and wants you to add some features for print services management. Click on Add features to install management tools. If you don’t install the management features, you just install the core service.

Print and document services

Print and document services

4. In the Print and Document Services page, provided essential information about the services to be noted. Finally click on Next button.

Print and Document Services

Print and Document Services

5. In the Select role services page four options are visible:

 1. Print Server: It is the actual print server. Selecting this option you can manage print services components as printers and drivers and furthermore things.

2. Distributed Scan Server: allows you to send scanned images to specific users or     groups in the domain.

3. Internet Printing: It creates a web page and gives the access to printer clients using printers through IIS web server.

4. LPD Service: This option enables UNIX clients running line printer remote (LPR) to send print    jobs to Windows printers. I install only Print Server.

Select Role Services

Select Role Services

6. We’re almost done. Click on Install button for installing the role on server. No reboot is needed.

Confirm installation selections

Confirm installation selections

Configure Print Services in Windows Server

First of all we need to add some printers and drivers on the server and manage them.

Open Server Manager, click on Tools dropdown menu and select Print Management services. Using this tool we can add and manage print services easily.

Server Manager

Server Manager

While Print Management tool is opened. Expand Custom Filters on the left pane to see the custom filters. You see four default filters:

  1. All Printers: It shows the list of all printer connected to the domain from all print servers.
  2. All Drivers: You can see a complete list of all drivers available for your clients through all the domain.
  3. Printers Not Ready: It shows you list the servers which are not available to clients. They don’t work, fix them.
  4. Printers With Jobs: Shows the list of printers currently doing print jobs.

Below Custom Filters another option is visible by the name Print Servers. Expand it to see all the print server in your domain. You can add all print servers in the domain here for easy management. Just right-click on Print Servers and select Add Server and go on.

Print Management Window

Print Management Window

You can see the same options like drivers and printer below the SVR-A server as the below Custom Filters. So the difference between this and the Custom Filter is that which the printers shown below the filter is the list of all printers in the domain. The printers below the Print Servers is the list of printers installed on each print server.

Add Printer

1. Print Management tool opened, expand Print Servers and right-click on the server and select Add Printer option.

Add Printer

Add Printer

2. In the Welcome page we’ve nothing to do so just click on Next button. In the Printer Installation page select the Add a new printer using an existing port. Elect a port and hit Next button.

Add new printer using this port

Add new printer using this port

3. In the Printer Driver page select Use an existing printer driver on the computer option. From the drop-down list select a driver that matches your printer device manufacturer and model.

Use an existing printer driver

Use an existing printer driver

4. Now you need to type a name for the printer in the box shown in the picture below. Below the Printer Name you can also see another option: Share this printer. As a result you can choose a share name and location for the printer. If needed you can leave a comment for users guidance.

Printer Share Name and location

Printer Share Name and location

5. Finally we are done with adding printer on a server. Just click on Finish button to finish the wizard. While finished the wizard you can find the printer in All Printers option in the left pane. If you would like to print a test page selecting Print a test page at the bottom of the wizard also you can add another printer by selecting Add another printer.

Finish the wizard

Finish the wizard

Add Driver

Maybe you need different kinds of drivers for client computers to use be able to use print device. So you need to have 32-bit and 64-bit drivers.

1. First of all you need to right-click on Drivers option below the server which you want to add driver to. Select the Add driver option.

Add Driver

Add Driver

2. In the Welcome page we have nothing to do. In the Processor Selection page you need to specify which kind of processors do your clients use. You can one or both of the options and hit Next.

Processor selection

Processor selection

3. In the Printer Driver Selection page you need to specify two things. First of all you should specify your devices’s manufacturer. Secondly specify the printer model. In addition to these you have one more useful option. If you have driver on a disk, you can click on Have Disk button and find path of the source and add it.

Printer Driver Selection

Printer Driver Selection

4. We are done and the driver was added to the server. So click on Finish button due to finish the wizard.

Finish the Wizard

Finish the Wizard

Conclusion

Ok, that’s all. For any kind of question feel free and leave a comment below the post. I answer you as soon as possible.

Опишу опыт установки и настройки принт-сервера на 15 принтеров. Развертывание на рабочие станции через GPO, настройка указания и печати для установки драйверов без участия пользователей.

Сервер Windows Server 2016 Core развернут в Hyper-V с динамической памятью 512Мб — 1536Мб. В финальном варианте виртуальная машина использует ~1200 Мб.

Напоминаю, основные настройки в Core выполняются через sconfig. Добавление роли выполняем через powershell (подробнее)

Install-WindowsFeature -name Print-Server, Print-Services -Restart

Далее запускаем консоль Управление печати и подключаемся к нашему серверу

.printmanagement.msc /computer:srvpr1

Добавляем необходимые принтеры, драйверы для разных платформ. ВНИМАНИЕ! Крайне рекомендую использовать как можно чаще один и тот же драйвер для разных принтеров. К примеру для HP 426, HP 428 использовал HP Universal Printing PCL 6. Также следим, чтобы драйвер принтера был упакован (от этого в дальнейшем зависит возможность установить драйвер от имени пользователя)

Далее открываем общий доступ к каждому принтеру и вносим данные о них в Active Directory

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

Чтобы пользователям было удобнее искатьустанавливать принтеры самостоятельно через меню Панель управления > Устройства и принтеры > Добавление принтера необходимо заполнить поле Размещение во вкладке Общие в формате Город/Адрес/Кабинет

Это удобно, когда принтеры и рабочие станции находятся в разных подсетях и в меню добавления принтеров либо ничего нет, либо их тыща (если у вас огромный лес). Настройки в GPO чтобы это работало выполним позднее.

Далее переходим в Редактор управления групповыми политиками и приступаем к развертыванию принтеров в разделе Конфигурация пользователя > Настройка > Параметры панели управления > Принтеры 

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

Казалось бы, всё просто. Но тут начинаешь ловить ошибки в журналах «0x800702e4 Запрошенная операция требует повышения«

Или «0x80070bcb Указанный драйвер принтера не найден в системе. Необходимо скачать драйвер«

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

Переходим в Конфигурация компьютера > Политики > Административные шаблоны > Принтеры > Ограничения указания и печати ВКЛЮЧЕНО

Указываем полное FQDN-имя нашего принт-сервера или серверов через «;»

Переходим в Конфигурация компьютера > Политики > Административные шаблоны > Принтеры > Функция указания и печати для пакетов ВКЛЮЧЕНО

Также вводим наши сервера печати

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

Переходим в Конфигурация компьютера > Политики > Административные шаблоны > Принтеры > Заполнение строки поиска принтеров ВКЛЮЧЕНО

Переходим в Конфигурация компьютера > Политики > Административные шаблоны > Принтеры > Размещение компьютера ВКЛЮЧЕНО и вводим наше географическое расположение Москва 

Теперь при ручной установки принтера, пользователь увидит только те принтеры, что находятся в Москве.

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

Переходим в конфигурация компьютера > Настройка > Конфигурация Windows > Реестр > Создать элемент реестра 

SOFTWAREPoliciesMicrosoftWindows NTPrintersPointAndPrint

Ключ RestrictDriverInstallationToAdministrators со значением 0

Выполняем gpupdate /force на рабочих станциях и проверяем установку принтеров.

Прочее

После включения журнала печати на сервере печати, обнаружил что в событиях отсутствует информация о названии документа.

Исправим это недоразумение, создав новый DWORD параметр ShowJobTitleInEventLogs со значением 1 в кусте HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTPrinters

Перезагружаем Диспетчер печати и проверяем события 307 в журнале PrintService

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

параметр ObjectGUID

Далее добавляем его в список разрешенных принтеров в групповой политике Конфигурация компьютера > Политики > Административные шаблоны > Система > Установка драйвера > Разрешить пользователям, не являющимся администраторами, устанавливать драйверы для этих классов установки устройств

Попадалась ещё ошибка

Ошибка Элемент предпочтения пользователь «HP426» в объекте групповой политики «Printers {A73397DA-8E68-40E3-8A01-551AB54639A1}» не применен по причине ошибки с кодом ‘0x8007011b <unknown-message-text>’ Эта ошибка была отключена.

Проследите, что установлены последние обновления

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

Проверяем упакован ли драйвер. Если «false» — переходим в редактор реестра сервера печати HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPrintEnvironmentsWindows x64DriversVersion-3 находим драйвер и увеличиваем значение ключа PrinterDriverAttributes на единицу. К примеру было «0», меняем на «1».

И перезагружаем службу «Диспетчер печати» (spooler)

Print Management saves the print administrator a significant amount of time installing printers on client computers and managing and monitoring printers.

This tutorial is going to explain How to Configure Print Server and Network Printer on Windows Server 2016 step by step.

1. From Dashboard click on “Add roles and features”, and then click Next twice.

2. Then Select your server from server pool, and click Next.

3. On this step, select “Print and documents services” role, once you click on it the wizard will pop up to add it features, click on”Add Features“, and then Next.

4. On the features page, leave the default selections and click Next.

5. The next screen of the installation wizard will provide you some information about the role you are going to install, then click Next.

6. Now select “Print Server” service under Role services, if it’s not already selected and click Next.

7. On the last screen of the installation wizard, Confirm your selection, and click “Install” to start the installation progress of the mentioned role.

8. Now the role is installing.

9. The features installation has been completed, you can now click on close button to close the wizard as shown, and to start the configuration step.

After you successfully installed the role, it’s time to start the configuration of it,  Using the steps below you should be able to configure Print server.

1. From the dashboard, click on “Tools” and from the drop-list, click on “Print Management“.

2. From the left pane, click on your server and then right click and select “Add Printer…“.

3. Select “TCP/IP or Web Service Printer by IP address or Hostname” option, click Next to continue as shown.

4. Now enter IP address or the hostname of your printer, and then click Next.

5. Select “Install a new driver” to get the latest driver for your printer and click Next.

6. Select your printer driver, or if you have the required files for its driver click “Have disk…”, for me I will select the driver from the drivers already on my windows server, and then click Next.

7. Now if you want to share your printer check on “Share Printer” if not uncheck it and click Next.

8. This page of the installation will confirm the printer details if its correct click Next.

9. Now the printer driver is installed, and you can test it by check on “Print test page” and once you click Finish a test page will be printed.

Summary

After this tutorial, you should be able to install and configure “Print Services” role and configure it to share on your network, if you have any inquiry regarding this tutorial please comment with it below and I shall try to reply you ASAP.

What Is Printer Pooling?

Printer pooling is a feature present in almost all latest versions of Microsoft Windows operating systems, and allows the printer administrators to create a single pool of multiple printers in order to reduce the workload from one printing device.

When a printer pool is created, all the printing tasks are equally distributed among all the participating printers on round-robin basis. For example, if there are three printers configured to form a printer pool, the first printing task will be sent to the first printer, the second task will be sent to the second printer, the third printing task will be sent to the third printer, and the fourth printing task will be sent to the first printer again, and so on.

You create a printer pool on a server by specifying multiple ports for a printer.

Each port is the location of one physical printer.

In most cases, the ports are an IP address on the network, instead of a local LPT or USB connection.

What Is Branch Office Direct Printing?

Branch Office Direct Printing reduces network costs for organizations that have centralized their Windows Server roles.

When you enable Branch Office Direct Printing, Windows clients obtain printer information from the print server, but send the print jobs directly to the printer.

The print data does not travel to the central server and then back to the branch office printer.

This arrangement reduces traffic between the client computer, the print server, and the branch office printer, and results in increased network efficiency.

Now lets go through how you as a Server Administrator can install & configure printer pool in windows Server 2016 for your infrastructure.

Infrastructure Requirement :

  • 1 DC SERVER (DC-CLOUD) 
  • 1 Client PC running Windows 10 (CLIENT-10)

1 – Open Server Manager, click Add Roles & Features, then click Next 3 times. on the Select Server roles interface, click Print and Document Services and then click Next.

1.png

 2 – On the Select Features interface, click Next.

10

3 – On the Print and Document Services interface, click Next.

2.png

4 – On the Select role services interface, in the Role services verify that Print Server check box is selected and then click Next.

3.png

5 – In the Confirm Installation Selections interface, click Install.

4.png

6 – On the Installation progress interface, click close.

5.png

7 – On DC-CLOUD.Windows.ae server, in the Server Manager, click Tools, and then click Print Management.

6.png

8 – Expand Print Servers, expand DC-CLOUD (local), right-click DC-CLOUD and then click Add Printer.

7.png

9 – On the Network Printer Installation Wizard interface, click Add a TCP/IP or Web Services Printer by IP address or hostname, and then click Next.

8

10 – On the Printer Address interface, change the Type of Device to TCP/IP Device, next in Host name or IP address, type 172.16.1.254clear Auto detect the printer driver to use, and then click Next.

*_* 172.16.1.254 is just to simulate Network Printer IP Address.

9

11 – Under Device Type, click Generic Network Card, and then click Next.

Screenshot (43)

12 – On the Printer Driver interface, click Install a new driver, and then click Next.

Screenshot (44)

13 – On the Printer Installation interface, under Manufacturer, click Microsoft, under Printers, click Microsoft XPS Class Driver, and then click Next.

*_* I choose Microsoft OpenXPS Class Driver just to simulate the printer installation, in real production you should choose your own Printer.

Screenshot (45)

14 – On the Printer Name and Sharing Settings interface, change the Printer Name to Windows Sales Printer, and then click Next.

Screenshot (46)

15 – Click Next 2 times to accept the default printer name and share name, and to install the printer.

Screenshot (47)

16 – Click Finish to close the Network Printer Installation Wizard.

Screenshot (48)

17 – In the Print Management console, right-click the Windows Sales Printer, and then click Enable Branch Office Direct Printing.

Screenshot (49).png

18 – right-click the Windows Sales Printer, and then select Properties.

Screenshot (59).png

19 – On the Windows Sales Printer properties, click the Sharing tab, select List in the directory, and then click OK.

Screenshot (50).png

20 – Next, lets configure printer pooling, in the Print Management console, under SUB-01 Server , right-click Ports, and then click Add Port.

Screenshot (51).png

21 – In the Printer Ports dialog box, click Standard TCP/IP Port, and then click New Port.

Screenshot (53)

22 – In the Add Standard TCP/IP Printer Port Wizard, click Next.

Screenshot (54)

23 – On the Add port interface, in Printer Name or IP Address, type 172.16.1.200, and then click Next.

Screenshot (55)

24 – In the Additional port information required dialog box, click Next.

Screenshot (56)

25 – Click Finish to close the Add Standard TCP/IP Printer Port Wizard.

Screenshot (57)

 26 – Click Close to close the Printer Ports dialog box.

Screenshot (58)

27 – In the Print Management console, right-click Windows Sales Printer, and then click Properties.

Screenshot (59)

28 – In the Windows Sales Printer Properties dialog box, click the Ports tab, select Enable printer pooling, and then click the 172.16.1.200 port to select it as the second port.

Screenshot (60)

29 – switch to your client PC, open Control Panel, then click Devices and Printers.

89

30 – In the Devices and Printers console, click Add a printer.

Screenshot (2).png

31 – On the Add printer interface, under searching for available printers, click your existing Printer name and then click Next. then the wizard will install the printer driver from the DC-CLOUD.Windows.ae server.

Screenshot (61).png

32 – On the Add printer interface (it will stated that “You’ve successfully Added Windows Sales Printer on 172.16.1.254”), click Next.

Screenshot (3).png

33 – click Finish.

Screenshot (4).png

34 – verify that you have Windows Sales Printer on 172.16.1.254 is listed in your Devices and Printers control panel.

Screenshot (5).png

that’s all for now.., any Doubts type a commend.. 🙂

In this article I will explain why Microsoft removed the Highly Available Print Services Role in Windows Server 2012 R2, 2016 and 2019 Failover Clustering and how you can make your Print Services Role Highly Available. The same level of Spooler Service Process Availability like in Windows Server 2012 Clustered Print Services Role and previous versions is still there but it is one of the most misunderstood topics on the market.

To understand the reason why Microsoft made some design changes to the High Available Print Services Role we have to be aware of some facts and statistics

1. Nearly 95% of Microsoft Customers who used a Windows Print Server, used it in Clustered Mode. Standalone Print Servers was a very rare scenario.
2. In 80% of the Printing related problems and cases handled by the Windows Printing Team the root cause was a faulty printer driver. As a result Microsoft advised his customers to contact the Printer Driver Vendors and ask for help.

With the design change in Windows Server 2012 R2, 2016 and 2019 Microsoft even doubled the High Availability of the Spooler Service Process

We can define the precautions as follows :

1. Printer Driver Isolation for faulty printer drivers.
2. High Availability for the Spooler Service Process with Hyper-V Failover Clustering and Print Spooler Service Monitoring.

How and Why Microsoft Printer Driver Isolation Mode was born ?

Because of this high amount of faulty printer drivers on the market and the result of the statistics above, Microsoft decided to implement the Printer Driver Isolation Feature. Customers who had a faulty printer driver on the hand and who couldn’t get help from his Hardware Vendor was obliged to use it till the Hardware Vendor provided a fix. With the Printer Driver Isolation Feature they had now the chance to run the problematic driver in an isolated mode.

As a result once a faulty printer driver misbehaved inside the spooler process other drivers and print queues were not affected anymore.

Why Microsoft removed High Available Print Services Role in Failover Clustering ?

The reason why Microsoft developed the Highly Available Print Services Role in Failover Clustering in 2003 was faulty printer drivers. From Microsoft’s perspective with the implementation of the Printer Driver Isolation Feature there was no need anymore to keep the Print Spooler Service Role.


Related Articles

1. How to properly migrate Print Services from Windows Server 2012 or 2012 R2 to Windows Server 2019

2. HP MFP Printers can Disappear from Devices and Printers

3. How to properly install a Printer Driver in Windows 10


Furthermore the “High Available Print Services Role in Failover Clustering” made only headache at Microsoft not because it was not good enough. On the contrary it was very well developed but the Printer Driver Vendors coudn’t develop properly working “Cluster Aware Printer Drivers“. As a result Microsoft decided to remove the “High Available Print Services Role” from Failover Clustering in Windows Server 2012 R2, 2016 and 2019.

Why were the Hardware Vendors not able to develop properly working Cluster Aware Printer drivers ?

The reason is as follows. If the printer driver can be installed via the Spooler API we can talk about an Cluster Aware Printer Driver. Once the driver gets installed via the Spooler API the driver components are forced to go into the Spool folder and nowhere else. Because of several compatiblity reasons Hardware Vendors don’t want to use the Spooler API to install it’s printer drivers. They want to save it’s driver components outside the Spool folder to hinder the overwrite of it’s own components. At this point the problem begins. With the Failover Clustering Feature in Windows Server 2012 and previous versions Microsoft only replicated the Spool Folder to the other Cluster Nodes. Everything else remained on the Node where you installed the driver. Once the Spooler Service failed over to another Node all printer related DLL’s outside the Spool folder couldn’t be copied to the other Cluster Nodes and the problems with printing begun.

Conclusion :

Basically the reason of the “High Available Print Services Role in Failover Clustering” in Windows Server 2012 and previous versions of Windows Server was to provide a recovery and high availability of the spooler process after a crash because of faulty printer drivers. You should take into consideration that if a printer driver misbehaves inside the spooler service on Node A it will misbehave after a move on Node B too. From this perspective if we use the Printer Driver Isolation Mode on every Printer Driver this will provide us the same Level of High Availability like in Clustered Print Services Role too.

How to make your Print Spooler Service Highly Available in Windows Server 2012 R2, 2016 and 2019 ?

I will give you an overview how you should design your Printing Environment to make it Highly Available and Fault Tolerant as possible.

Steps :

1. First a Hyper-V Cluster with at least 2 Node are required to run the Print Server VM.
2. Setup a Print Server as VM.
3. Configure Virtual Machine Monitoring on the Print Server VM to monitor the Spooler Service as described in the following Microsoft article.

Virtual Machine Monitoring

To configure the service that will be monitored by the Virtual Machine Monitoring feature

3.1. Open Failover Cluster Manager on one of the nodes of the cluster, and connect to the cluster that you wish to manage.
3.2. Click the Roles node under the cluster name that you wish to configure. Each virtual machine that is clustered will display in the middle pane.
3.3. Right click the virtual machine that will be monitored and select More Actions, and then Configure Monitoring.

3.4. Select the Print Spooler from the list of services by checking the box next to it.

3.5. When successfully configured, the lower pane of Failover Cluster Manager should show Print Spooler listed next to Monitored Services when the HA Print Server is selected.

4. Create your Print Queues and run all Printer Drivers in an Isolated Mode with the below policy.

Navigate to (Computer Configuration > Administrative Templates > Printers > Override print driver execution compatibility setting reported by print driver). According to the operating system’s online help, “This policy setting determines whether the print spooler will override the Driver Isolation compatibility reported by the print driver. This enables executing print drivers in an isolated process, even if the driver does not report compatibility. If you enable this policy setting, the print spooler will ignore the Driver Isolation compatibility flag value reported by the print driver. If you disable or do not configure this policy setting, the print spooler will use the Driver Isolation compatibility flag value reported by the print driver.”

Now you are done.

Good luck !

Table Of Contents

  1. Introduction
  2. Print service installation
  3. Print service administration
    • Install drivers
    • Installing a printer on the print server
    • Setting up a printer
  4. Troubleshooting
    • Change the WSD port to TCP / IP
      • Add the TCP / IP port of the printer
      • Change the printer port
    • Purge the queue (Spooler)
  5. Conclusion

Introduction

In this article, we will see how to setup and configure a print server on Windows Server.

Installing the Print and Document Scanning Service role adds an administrative console for managing the print server.

This service is not required to install and share a printer from a Windows server, it is possible to go directly through the control panel.

Print service installation

From the server manager where you want to install the print service, click Add Roles and Features 1 .

Server Manager

When launching the wizard, click Next 1 .

Wizard install role

Choose the option based on role one or feature 1 and click Next 2 .

Select type of installation

Select server 1 and click Next 2 .

Select server

Check the box for printing and scanning documents 1 .

Select role

Click Add Features 1 .

Add the admin console

The Print Services role is selected, click Next 1 .

Selected print service

Skip the list of features by clicking Next 1 .

Features list

A Print Services Summary is displayed, click Next 1 .

Overview pinter service

From Windows 2012 Server, you can use Type 4 drivers that make it easy to deploy printers using WSD ports.

Select the Print Server 1 service and click Next 2 .

Select service

Click on the Install 1 button.

Start install

Wait while installing the print service …

Wait during install Wait during install

The installation completed, exit the wizard by clicking Close 1 .

installation completed

Print service administration

Now that the print service is installed, we will see how to administer it using the Print Management Console.

Open the console that is available from the Start menu.

Open console management

After the console opens, unpack the Print Servers node 1 to access the local server.

Management console

Now we will see how to add drivers and printers.

I usually add the drivers first to the server and then install the printer, it is possible to add the drivers at the time of installation of the printer.

Install drivers

Retrieve the drivers that you need based on the printer models and copiers you are going to install. If your computer is composed of 32-bit workstations,, you must also download the x86 drivers.

From the Print Management Console, right-click Drivers 1 and click Add Driver 2 .

Add pilote

When launching the Add Printer Driver Wizard, click Next 1 .

Wizard add printer driver

Choose processor type 1 then click Next 2 .

Select processor

Click on Disk provided … 1 to select the driver.

Browse

Select the driver inf 1 file and click Open 2 .

Seelct inf file

Click OK 1 to validate the selection of the file.

Driver path

Choose the available printer 1 and click Next 2 .

Select printer

Click Finish 1 to confirm the driver installation and close the wizard.

Confirm install driver

The driver is now added to the server.

Driver added for printer

If necessary, repeat the same operation to install the 32-bit (x86) driver. It is recommended to install the same version of the driver.

Installing a printer on the print server

Now that we have the driver to install, we will see how to add a printer.

Right click on Printers 1 and click on Add Printer 2 .

Add printer

When launching the wizard, choose the installation method, for a network printer with an IP address, choose Add TCP / IP Printer or Web Service by IP Address or Hostname 1 and click Next 2 .

Choose the installation method

Choose device type 1 , enter IP address 2 and click Next 3 .

Type and address Type and address

Since Windows 10/2016, when the device type is auto, the print server will try to install the printer in Web Service Printer mode and create a WSD port. This mode makes plug and play network devices. On a print server containing a lot of printers, it is advisable to choose the TCP / IP Device type.

Name the printer 1 , set the share name 2 and click Next 3 .

Configure name and share name of printer

An overview of the parameters is displayed, it can also be seen that the driver was automatically detected at the model level. Click Next 1 to confirm the addition of the printer.

Confirm install printer

Wait while installing the printer …

Printer being installed

Once the printer is installed, close the wizard by clicking the Finish button 1 .

pinter installed

The printer is available from the Printers 1 node.

On the screenshot below, we can see that the driver is Type 4 because the copier has been installed in automatic detection and a WSD port has been created.

So that we can see the difference, I installed a second copier on the server but this time specifying the port type. Go to Ports node 1 in the Print Management Console. We can see the two added ports linked to copiers 2 .

List of printer-linked ports on the print server

Setting up a printer

From the list of printers available on the print server, right click on the printer 1 to configure and click Properties 2 .

Edit printer

The General tab allows you to configure the name of the printer visible from the server, displays a summary of the features and starts printing a test page.

Properties printer

The Sharing tab is used to configure the SMB name.

Share parameters printer

The Ports tab allows you to modify and configure the printer port on the print server.

Ports

The Advanced tab allows you to configure the driver used as well as the default print settings (black and white, double-sided ….).

Advanced properties of printer

The Security tab allows you to configure permissions on the printer as NTFS rights on a folder.

Security Tab Printer

Troubleshooting

Change the WSD port to TCP / IP

It is not possible to convert the port, for this it is necessary to add a TCP / IP port on the print server and change the port of the printer.

Add the TCP / IP port of the printer

Right-click on Ports 1 and click on Add Port 2 .

Add port

Select Standard TCP / IP Port 1 and click Add Port 2 .

Add port

When launching the wizard, click Next 1 .

Wizard add port for printer

Enter the printer address 1 and click Next 2 .

Printer's IP

Click Finish 1 to confirm the addition of the port.

Confirm add port

Change the printer port

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

Go to rpinter's properties

Go to the Ports tab, check the box of port 1 that has just been created and click on Apply 2 .

Select new port

The printer port is changed 1 , click OK 2 to close the Properties window.

Port changed

Purge the queue (Spooler)

It happens in some cases that an impression blocks the print service of the server, here is how to purge the files.

In batch:

net stop spooler
del %systemroot%System32spoolprinters* /Q /F /S
net start spooler

In PowerShell :

Stop-Service spooler
Remove-Item -Path $env:windirsystem32spoolPRINTERS*.* -Force
Start-Service spooler

Conclusion

The print server is ready, all you have to do is deploy the printers automatically to GPO or Scripts.

If you want to log your impressions Papercut offers several solutions:

  • Papercut NG which is complete solution of quota management and static (paying).
  • PrinterLogger allows you to log impressions for free into a CSV file.

It is also possible to log impressions in Windows events by activating the Operational Log in Application Logs and Services / Microsoft / Windows / PrintService.

  • Remove From My Forums
  • Вопрос

  • День добрый.

    Разворачиваю новый PRINTServer на windows server 2016 ( т.к. старый 2008 хотим вывести из эксплуатации)

    сервер называется spb-srv-prn02

    в днс сделал Сname имя spb-srv-prn02=print01

    роль принтсервера уже стоит.

    добавил принтер дрова опубликовал внес в AD

    я хочу развернуть этот принтер через GPO на компьютеры.

    и вот возникла делема, сделал GPO сделал группу в AD соответствующую,( в группу добовляю пк и те пк которые в этой группе на них развертывается принтер) жму на принт сервере, по принтеру развернуть с помощью  групповой политики, но
    вот не задача публикованный принтер развертывается с именем spb-srv-prn02, 

    а я хотел бы сделать с CNAME именем Print01.

    Подскажите как можно это реализовать? гуглил нечего толкового не нашел….

    2 Вопрос. Если у  меня этих принетров 1500 тысячи, группы бох с ним, создам, вынесу их в отдельную OU «принетры организации» но как быть с GPO не создавать же мне 1500 GPO? можно ли как то сделать 1 GPO ?

    • Изменено

      19 февраля 2018 г. 8:09

Ответы

  • В GPMC создайте новую политику, далее в Конфигурации пользователя:

    Затем в окне добавления укажите путь к принтеру используя CNAME:

    • Изменено
      Mikhail Efimov
      19 февраля 2018 г. 9:16
    • Помечено в качестве ответа
      Dedman2k3
      19 февраля 2018 г. 13:28

  • На той машине, откуда вы рулите политикой, должна стоять либо роль принт-сервера, либо консоль управления (отсюда)
    :  

    Seems you have to install print server role

    1. Server Manager, select Roles, click Add Roles
    2. Click Next and check Print and Document Services box
    3. Click Next and check Print Server box
    4. Click Next and Install to install printer server role.

    -OR-
    Add the «RSAT — Print & Document Services Tool» using «Add Features» in the Server Manager

    • Помечено в качестве ответа
      Dedman2k3
      19 февраля 2018 г. 13:28

  • Вы не внимательно прочитали мой первый ответ ))

    Конфигурация пользователяКонфигурация WindowsРазвернутые принтеры.

    GPO необходимо накатить на пользователей, а не на компы. В политике добавляете все принтера, а разделение прав настраиваете на самом принт-сервере на каждом принтере во вкладке Безопасность:

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

    Вам нужно будет создать группу для каждого принтера (или группы принтеров).

    • Помечено в качестве ответа
      Dedman2k3
      19 февраля 2018 г. 13:28

  • Будет, в этом случае на комп будут ставиться все принтера, указанные в политике. Тогда придётся плодить кучу отдельных политик для разграничения установки, если это нужно.

    • Изменено
      Mikhail Efimov
      19 февраля 2018 г. 13:21
    • Помечено в качестве ответа
      Dedman2k3
      19 февраля 2018 г. 13:28

Настройка TS Easy Print на сервере терминалов Windows Server 2016

Технология TS Easy Print является альтернативой стандартной службе печати, появилась впервые в Windows Server 2008R2.

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

Внедрение Easy Print не требует установки ролей и компонентов, настройки сервера или рабочей станции пользователя.

Необходимо лишь наличие клиента удаленного рабочего стола версии 6.1 (или старше) и .NET Framework 3.0 SP1 (или старше).

Настройка

Чтобы включить данную технологию необходимо зайти в редактор групповых политик gpedit.msc :

 Конфигурация компьютера

 Административные шаблоны

 Компоненты Windows

 Службы удаленных рабочих столов

 Узел сеансов удаленных рабочих столов

 Перенаправление принтеров

перенаправлять только используемый по умолчанию принтер клиента — вкл

Настройка TS Easy Print на сервере терминалов Windows Server 2016

использовать в первую очередь драйвер принтера Easy Print — отк

Настройка TS Easy Print на сервере терминалов Windows Server 2016

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

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

Данная функция доступна также с Windows Server 2008.

Для этого перейдем в раздел редактора групповых политик:

 Конфигурация компьютера

 Административные шаблоны

 Принтеры

выполнять драйвера принтеров в изолированном виде — вкл

Настройка TS Easy Print на сервере терминалов Windows Server 2016

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

Настройка TS Easy Print на сервере терминалов Windows Server 2016

Для корректной работы данный технологии необходимо, чтобы на сервера был установлен принтер Microsoft XPS Document Writer.

Настройка TS Easy Print на сервере терминалов Windows Server 2016

Настройка Easy Print на этом окончена.

Источник

Понравилась статья? Поделить с друзьями:
  • Сервер активации windows в локальной сети
  • Семейство ms windows пути эволюции реферат
  • Сервер печати windows server 2012 r2
  • Секунды в системных часах windows 10
  • Сервер активации windows 10 в домене