понедельник, 6 декабря 2021 г.

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

Опишу опыт установки и настройки принт-сервера на 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 > Реестр > Создать элемент реестра 
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)

 

Комментариев нет :

Отправить комментарий