Принт сервер настройка windows server

В данной заметке поговорим о внедрении и последующем обслуживании сервера печати (по др. принт-сервера) полезной серверной роли в 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 tools\Print 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 Configuration\Policies\Administrative Templates\Printers (Конфигурация компьютера\Политики\Административные шаблоны\Принтеры).

Отмечаем галочки напротив 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 Configuration\Policies\Administrative Templates\Printers. Данная политика полностью независима от 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%\System32\spool\PRINTERS и последующем старте службы, что известно практически каждому админу и не только. Для полноты обзора, и для совсем  «зеленых» товарищей приведу всем известную последовательность команд :)

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

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

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

del /q /f %windir%\System32\spool\PRINTERS\*.*

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

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

net stop spooler & net start spooler

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

setlocal
net stop spooler
del /q /f %windir%\System32\spool\PRINTERS\*.*
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 > Реестр > Создать элемент реестра

SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint

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

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

Прочее

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

Исправим это недоразумение, создав новый DWORD параметр ShowJobTitleInEventLogs со значением 1 в кусте HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers

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

Для редактирования групповых политик в части разрешения установки драйвера устройств от имени пользователя, необходимо знать GUID устройства. Достать его можно с реестра принт-сервера из ветки HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\

параметр ObjectGUID

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

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

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

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

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

Проверяем упакован ли драйвер. Если «false» — переходим в редактор реестра сервера печати HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3\ находим драйвер и увеличиваем значение ключа PrinterDriverAttributes на единицу. К примеру было «0», меняем на «1».

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


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

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

Так получилось, что я в своей работе использую в основном продукты 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 принтеров принт-сервера. Другими словами, если вы разрешили печатать на принтере \\printserver\printer1 только сотрудникам, входящим в 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 HKLM\SYSTEM\CurrentControlSet\Control\Print /v DnsOnWire /t REG_DWORD /d 1
После применения команды нужно перезапустить службу Диспетчер печати.
Рекомендую выделить для принт-серверов отдельный OU и раздавать эту настройку с помощью GPP.

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

клик

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

клик

клик

Это имя должны использовать клиентские машины для подключения к принт-серверу. Т.е. клиент будет подключаться к адресам \\print\printer01, \\print\printer02 и т.д.
Чем меньше значение 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:\Scripts\Printers.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 (например, \\print\printer01), и пробуем распечатать на нем что-нибудь.

Для этой цели лучше всего подойдет фраза “Превед, я бумажко”, набранная жирным шрифтом 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:\Windows\System32\Spool\Tools\PrintBrm.exe'

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

#Файл, куда выгружаем настройки. Путь не должен содержать пробелы, т.к. утилита PrintBrm не понимает кавычки в пути файла
$ConfigFilePath = 'C:\Scripts\prn-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:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
В качестве аргументов задаем путь к скрипту со следующими параметрами:
C:\Scripts\PrintSync.ps1 -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass

клик

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

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

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

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

.

Примечание

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

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

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

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

Мне попадались с кодами 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. Добавляем пользователя в группу — и ему прилетает нужный принтер. Правда, это уже другая история, выходящая за рамки статьи.

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

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

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


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


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


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


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


16.22%
мне достаточно бэкапа
18


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


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


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

Проголосовали 111 пользователей.

Воздержался 31 пользователь.

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%\System32\spool\printers\* /Q /F /S
net start spooler

In PowerShell :

Stop-Service spooler
Remove-Item -Path $env:windir\system32\spool\PRINTERS\*.* -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.

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

Это руководство предоставляет все необходимые инструкции по установке и настройке сервера печати на Windows Server 2016. Вы узнаете, как добавить и настроить принтеры, создать и настроить группы принтеров, управлять доступом пользователей к принтерам и многое другое.

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

Содержание

  1. Установка и настройка принтера в Windows Server 2016
  2. Шаг 1: Выбор принтера и подключение
  3. Шаг 2: Установка драйверов и программного обеспечения
  4. Шаг 3: Настройка и управление принтером

Установка и настройка принтера в Windows Server 2016

Windows Server 2016 предоставляет возможность установки и настройки принтеров для печати документов. В этом разделе мы разберем, как установить и настроить принтер в операционной системе Windows Server 2016.

Для установки принтера в Windows Server 2016 выполните следующие шаги:

1. Откройте меню «Пуск» и выберите пункт «Настройка».
2. В списке доступных опций выберите «Принтеры и сканеры».
3. Нажмите на кнопку «Добавить принтер или сканер».
4. Windows Server 2016 автоматически начнет поиск доступных принтеров в вашей сети. Подождите, пока поиск завершится.
5. Выберите нужный принтер из списка доступных принтеров и нажмите на кнопку «Далее».
6. После завершения установки принтера, Windows Server 2016 предложит настроить дополнительные параметры печати, такие как тип бумаги и качество печати. Выберите нужные опции и нажмите на кнопку «Готово».

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

Теперь вы знаете, как установить и настроить принтер в Windows Server 2016. Следуйте этим шагам, чтобы успешно настроить сервер печати и обеспечить возможность печати документов в вашей сети.

Шаг 1: Выбор принтера и подключение

Настройка сервера печати на Windows Server 2016 начинается с выбора принтера и его подключения к серверу. Принтер может быть локальным или сетевым.

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

  1. Подключите принтер к серверу, используя USB-кабель.
  2. Откройте «Управление компьютером» и выберите «Устройства и принтеры».
  3. Нажмите правой кнопкой мыши на свободном месте и выберите «Добавить принтер».
  4. Выберите локальный принтер и нажмите «Далее».
  5. Выберите порт, к которому подключен принтер, и нажмите «Далее».
  6. Выберите производителя и модель принтера из списка или введите диск с драйвером и нажмите «Далее».
  7. Дайте принтеру имя и установите его как принтер по умолчанию.
  8. Нажмите «Готово», чтобы завершить установку.

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

  1. Узнайте IP-адрес принтера и убедитесь, что он находится в одной сети с сервером.
  2. Откройте «Управление компьютером» и выберите «Устройства и принтеры».
  3. Нажмите правой кнопкой мыши на свободном месте и выберите «Добавить принтер».
  4. Выберите сетевой принтер и нажмите «Далее».
  5. Введите IP-адрес принтера или найдите его в списке обнаруженных принтеров, и нажмите «Далее».
  6. Выберите производителя и модель принтера из списка или введите диск с драйвером и нажмите «Далее».
  7. Дайте принтеру имя и установите его как принтер по умолчанию.
  8. Нажмите «Готово», чтобы завершить установку.

После успешного подключения принтера вы можете перейти к следующему шагу — настройке сервера печати на Windows Server 2016.

Шаг 2: Установка драйверов и программного обеспечения

Следуйте этим простым шагам, чтобы установить драйверы и программное обеспечение на вашем сервере печати:

  1. Откройте меню «Пуск» и выберите «Управление печатью».
  2. Щелкните правой кнопкой мыши на принтере, для которого вы хотите установить драйверы, и выберите «Свойства принтера».
  3. Перейдите на вкладку «Драйвер» и нажмите кнопку «Добавить…».
  4. Выберите драйвер принтера из списка или введите путь к драйверу вручную, если у вас есть установочные файлы.
  5. Продолжайте нажимать «Далее» и следовать инструкциям на экране для установки драйвера.
  6. После завершения установки драйвера вы можете установить дополнительное программное обеспечение для вашего принтера, если это необходимо.

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

Шаг 3: Настройка и управление принтером

После установки принтера на сервер Windows Server 2016 необходимо выполнить несколько дополнительных шагов для его настройки и управления.

1. Откройте «Панель управления» на сервере и выберите раздел «Принтеры и сканеры».

2. Нажмите на кнопку «Добавить принтер или сканер» и дождитесь, пока сервер найдет доступные принтеры в сети.

3. Выберите нужный принтер из списка и нажмите на кнопку «Далее».

4. Если необходимо установить дополнительные драйвера для принтера, выберите соответствующую опцию и следуйте инструкциям установщика.

5. Настройте параметры принтера, такие как формат бумаги, качество печати и настройки сети.

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

Теперь принтер готов к использованию на сервере Windows Server 2016. Вы можете распечатывать документы и управлять принтером через «Панель управления» или специальное ПО для управления принтерами.

  • Приложения для отключения антивируса в windows 10
  • Принт сервер на linux для windows сетей
  • Приложения для создания презентаций на windows 10
  • Приложения для отключения windows defender
  • Приложения для настройки производительности графики windows 10