Сервер печати windows 2012 r2 настройка

Обновлено: 03.07.2024

Мне потребуется развернуть еще одну систему в домене на базе операционной системы Windows Server 2008 R2 SP1 Enterprise — srv-print.polygon.local и уже на ней развернуть роль сервера печати, потому как я не поклонник нагромождения всего и вся на одной системе, даже в тестовых целях ну конечно если уж слишком надо, то это возможно. Ниже я рассмотрю все трудности и шаги по исполнению поставленной себе задачи, как задокумментировать весь процесс со всеми нюансами и наблюдениями.

Авторизуюсь в системе с правами администратора домена на станции (srv-print):

Start — Control Panel — Administrative Tools — Server Manager — Roles — Add Roles, роль называется: Print And Document Services, и оставляем галку только сервер печати (Print Server)

Первым принтером будет 10.7.8.20 (HP LaserJet P2055dn), качаем с официального сайта драйвера

как под архитектуру Windows 7 x86/x64 (и PCL5/PCL6)

На терминальном сервере создаю каталог и распаковываю пока файлы upd-pcl6 туда.

Теперь когда роль сервера печати установлена, пора переходить к полной настройке:

Start — Control Panel — Administrative Tools — запускаем оснастку Print Management

в этой оснастке для принтеров использующихся у Вас в обслуживании загружаю драйвера для принтера как для архитектуры x86 так и для x64:

Print Servers — srv-print (local) — Drivers — через правый клик вызываю мастер «Add Driver», Next, сперва отмечаю x86 (Type 3 — User Mode) ,Next — нажимаю Have Disk, посредством проводника системы указываю путь с распакованными драйверами для архитектуры Windows x86, в моем случаем путь следующий:

c:\Driver\upd-pcl6-x32-6.2.0.20412

Выделив драйвер нажимаю Next

Устанавливаю универсальные драйвера, как x86 так и x64

А после Finish, теперь по такому же принципу проделываю и для архитектуры x64, только на шаге добавления уже отмечаем галочкой не x86, а x64.

Важно: драйвера обязательно должны быть одной версии для принтера.

В итоге в списке драйверов будущего сервера печати у Вас должно получиться следующее:

Драйвера для обоих архитектур установлены в Print Server

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

  • Type of Device: Autodetect
  • Host name or IP address: 10.7.8.20
  • Port name: 10.7.8.20

и обязательно ставим галочку: Auto detect the printer driver to use и нажимаем Next, следующим шагом нужно указать именование принтера (обычно я делаю с учетом расположенности по определению местонахождения):

  • Printer Name: One-Floor-HPLJP-2055DN-SKLAD

и ставим галочку на параметре: Share this printer

  • Share name: One-Floor-HPLJP-2055DN-SKLAD
  • Render print jobs on client computers
  • List in the directory.

теперь нажимаю Next, Next, Finish

  • Printer Name or IP Address: 10.7.8.20
  • Port Name: автоматически подставит из первого поля

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

Завожу принтер в Print Server

Теперь нужно опубликовать данный принтер на пользователя alektest и произвести печать:

На заметку: удобнее управлять группой чем конкретными пользователями/компьютерами, Я всегда использую группы (она всегда может вдруг понадобиться если скажет сделать все то же самое что и этого пользователя) так проще.

На домен контроллере в оснастке Start — Control Panel — Administrative Tools — Group Policy Management создаю групповую политику с именем GPO_PRN_ONE_FLOOR_HPLJP_2055DN-SKLAD и нацеливаю ее на созданную ранее группу пользователей у которых должен установиться данный принтер.

Групповая политика нацелена на группу

Теперь переключаюсь на систему где развернут сервис печати.

На заметку: роли AD и Print Server можно развернуть и на одной системе, но лучше придерживаться правила (если позволяют ресурсы), одна система — один сервис или сервисы объединенные одним функционалом.

GPO по установки принтера может назначаться на компьютера

GPO по установки принтера может назначаться на пользователей/группу пользователей

Привязка принтера на пользователя:

Теперь переходим на домен контроллер открываю оснастку управления групповыми политиками, отрыв на редактирование:

  • Script Name: PushPrinterConnections.exe
  • Script Parameters: -log (чтобы на рабочих станциях формировать логи)

и нажимаю OK окна Add a Script

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

, а после сохраняю первые изменения нажатием кнопки Apply

На заметку: при добавленном параметре « -log » Файлы журналов записываются в %WINDIR%\temp\ppcMachine.log (для подключений на уровне компьютеров) и %temp%\ppcUser.log (для подключений на уровне пользователей) на компьютере, на котором применяется политика, только это все применимо к Windows XP на Windows 7 хоть и заявлено, что должно работать — не работает.

Win + E → \\polygon.local\sysvol\polygon.local\Policies\\User\Scripts\Logon

На заметку: файл PushPrinterConnections.exe на Windows Server 2008 R2 — 64-bit и он не будет работать там где политика применяется к Windows 7 x86, а потому данный файл необходимо взять из Windows Server 2008 x86.

Использование файла PushPrinterConnections.exe оправдана только тогда когда в Вашей доменной сети используется системы Windows XP & Windows Server 2003.

В процессе тестирования решил опробовать, как поведен себя установка назначенного политикой принтера если драйвера у него не универсальные, а именные, к примеру: HP LaserJet P2050 Series PCL6

  • Политика — Принтер на пользователя — добавляем пользователя в группу, делаем Logoff/Logon и принтер устанавливается пользователю.
  • Политика — Принтер на компьютер — добавляем компьютер в группу, перезагружаем компьютер и принтер устанавливается на компьютер и доступен любому пользователю на данной рабочей станции.

Итого: Print Server отлично работает, как с универсальными драйверами так и именными, основные моменты разобраны, потихоньку буду налаживать работу инфраструктуры на тот функционал задействованных систем на которые они способны. А бегать вручную и добавлять каждому принтер уже как-то надоело.

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

На заметку: если назначенный политикой принтер на пользователя все равно не отображается в «Устройства и Принтеры», то значит политика еще не дошла до пользователя, можно либо перезагрузить систему, либо же в командной строке набрать команду gpupdate /force , а после сделать Logoff/Logon. И вот теперь видны все назначенные принтера:

Назначение еще одного принтера через групповые политики

Вот собственно и всё, с уважением Олло Александр aka ekzorchik.

Технология TS Easy Print была впервые представлена в Windows Server 2008 в качестве альтернативы использованию традиционной подсистемы печати на терминальных серверах RDS. Easy Print позволяет избежать установки драйверов для перенаправленных принтеров на сервере терминалов и позволяет сопоставлять перенаправленный клиентский принтер с драйвером Easy Print. Это значительно повышает стабильность и производительность работы службы диспетчера очереди печати и сервера RDS в целом.

Функционал Easy Print основана на спецификациях, определенных в стандарте XPS для драйверов принтеров. Основные преимущества формата XPS: использование открытого формата документа, портативность и независимость от аппаратной платформы, низкие требования к пропускной способности канала (за счет использования более легкого стандарта XML). Задание печати XPS через сеанс RDP передается на клиентский ПК и обрабатывается локальным драйвером печати.

Настройка Easy Print на стороне клиента

Для использования Easy Print на стороне клиента, он должен соответствовать следующим требованиям:

Если вместо клиент mstsc.exe, вы используете для подключения настроенный.rdp файл, в нем должна присутствовать следующая строка:

redirectprinters

Настройка Easy Print на стороне сервера Remote Desktop Server

Драйвер печати Easy Printer устанавливается на сервере при развертывании роли служб удаленных рабочих столов (RDS), а в списке принтеров появляется новый принтер с именем Microsoft XPS Document Writer. Этот драйвер печати поддерживает различные модели принтеров.

Microsoft XPS Document Writer

В Windows Server 2012 R2 включить обязательное использование технологии Easy Print на стороне сервера RDS можно только через групповые политики.

Совет. В том случае, если клиент не поддерживает использование драйвера Easy Print, сервер RDS автоматически пытается использовать установленный на нем драйвер для данной модели принтера (если он, конечно, имеется).

После привязки политики к нужному контейнеру AD, можно протестировать политику.

  1. Обновите групповые политики на сервере Remote Desktop командой gpupdate /force
  2. Завершите текущую RDP сессию (logoff) и подключитесь к серверу еще раз
  3. Перейдите в раздел Панели управления -> Устройства и принтеры
  4. Найдите принтер, перенаправленный в рамках вашей RDP сессии и откройте его свойства
  5. Перейдите на вкладку Advanced и удостоверьтесь, что для данного принтера используется драйвер Remote Desktop Easy Print
  6. Send the test print job and make sure that it is properly printed on a local printer

По умолчанию количество перенаправленных принтеров в сессии ограничено числом 20. Изменить эту настройку можно через реестр. Для этого в ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
нужно создать параметр MaxPrintersPerSession со значением, равным максимальному количеству принтеров, которые должны перенаправляться в рамках RDP сессии.

Для лучшей производительности предпочтительнее перенаправлять с клиента только один принтер, используемый по умолчанию. Для реализации этой концепции достаточно включить политику Redirect only the default client printer.

Redirect only the default client printer

Таким образом, благодаря использованию Remote Desktop Easy Print, существенно упрощается настройка подсистемы печати на терминальных серверах, а администратору нет необходимости устанавливать на RDS серверах драйвера для различных моделей принтеров, используемых клиентами.

В процессе перехода на новую серверную ОС Windows Server 2012 R2 добрались до серверов печати. Рассмотрим маленький пример миграции действующего сервера печати на базе Windows Server 2012 на новую версию ОС.

Для миграции служб печати подразумевается 2 основных сценария:

1. Переустановка сервера с тем же имением;
2. Переустановка сервера с другим имением и переподключение клиентов.

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

Первым делом, необходимо экспортировать текущую конфигурацию сервера печати в файл для последующего развёртывания. Для этого откроем оснастку “Управление печатью” ( printmanagement.msc ), вызовем контекстное меню на узле сервера и выберем пункт экспорта принтеров в файл:

image

Откроется диалоговое окно, которое после инициализации отобразит все возможные объекты для миграции, а именно: очереди печати, драйверы, обработчики и порты:

image

Следующим шагом укажем каталог для сохранения файла.

image

Расширение файла “.PrinterExport” подставляется автоматически. Мастер так же позволяет использовать UNC пути для указания каталога с файлом.

В нашем нехитром примере миграция затронула 34 принтера и 32 драйвера, процесс занял примерно 10 минут.

image

На выходе был получен файл “Print.PrinterExpotr”, 792 Мб в объёме.

Любители консоли могут выполнить экспортирование с помощью командной строки, используя встроенную в систему утилиту PrintBrm.exe

image

Консольный процесс экспорта выглядит примерно следующим образом:

Сохраняем файл экспорта на любое доступное сетевое расположение и переустанавливаем операционную систему. Важным критерием является то, что имя сервера после установки должно остаться прежним, в противном случае придётся переподключать клиентов.

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

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

image

И выберем необходимую службу развёртываемой роли, в нашем случае Print Server

image

Альтернативно роль сервера печати можно развернуть с помощью командлетов PowerShell (это может быть полезно например в сценариях автоматизации или использования редакции Core)

После развёртывания роли можно сразу приступить к импорту ранее выгруженных данных. Так же, в оснастке “Управление печатью” вызываем контекстное меню на узле сервера и выбираем пункт импорта

image

Первым шагом, мастер нас просит указать ранее экспортированный файл

image

После перехода к следующему шагу мастер может на некоторое время “задуматься” (время ответа мастера зависит от размера читаемого файла).

image

Последний шаг импорта просит указать параметры:

Режим импорта: сохранять или пропускать принтеры с совпадающими именами

Публикация принтеров: публиковать принтеры как было либо публиковать все либо не публиковать ничего.

Конвертация LPR портов

image

В данном примере опции были оставлены по умолчанию. Процедура импорта заняла 20 минут.

Так же, возможен и консольный вариант импорта:

image

И визуально выглядит следующим образом:

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

Windows 2003 «почил в бозе» (а точнее, через месяц перестанет официально поддерживаться), а в месте с ним и наш принт-сервер, безсбойно отработавший крайние 4 года. Соответственно было принято решение перевести его сразу на Windows 2012 (перед принятием такого решения, обязательно не забудьте уточнить: все ли драйвера принтеров есть для Windows 2012, а то можно столкнуться с некоторыми неприятностями и «танцами с бубном»).

snap1

snap2

snap3

Далее, чтобы не настраивать принтеры руками, имеет смысл создать секьюрити группы, добавить туда необходимых пользователей и «прикрутить» принтеры через GPO (определенным пользователям, определенные принтеры)

snap4

Удаляем в свойствах принтера в разделе Безопасность, группу ВСЕ, и назначаем необходимую группу созданную в AD, учетки админов (если необходимо).

snap5

Осталось только настроить GPO (как раз тут по началу и возникли небольшие сложности): выскакивало предупреждение безопасности и пока не нажмешь кнопку ок принтер никак не устанавливался. Необходимо было вручную нажимать, кнопку «установить».

Еще одним негативным моментом стало, то, что когда заходишь под новым профилем пользователя, принтеры цепляются, а когда под старым (уже существующим), ничего не происходит.

Итак, создаем политику, например, Printers (применяем ко всему домену).

Далее добавляем принтеры для автоматической установки в политиках предпочтений. Так как у нас принтеры расшарены, выбираем пункт «Общий принтер»

snap6

Можно поставить флажок «Использовать этот принтер по умолчанию»

Далее выбираем принтер опубликованный в AD.

snap7

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

snap8

Далее gpupdate /force или перелогиниться (у кого-то сработал gpupdate у некоторых заработало только после логоф-логон, пока непонятно почему)

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

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

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