Поиск по сайту:

Развертывание принтеров среди пользователей домена и компьютеров с помощью GPO


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

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

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

Создайте три новые группы безопасности в AD (SharedPrinter_Sales, SharedPrinter_IT, SharedPrinter _Managers) и добавьте в них пользователей отдела (вы можете автоматически добавлять пользователей в группы домена, следуя статье «Создание динамической группы в Active Directory»). Вы можете создавать группы в консоли «Пользователи и компьютеры Active Directory» (

dsa.msc

, ADUC) или с помощью командлета New-ADGroup:

New-ADGroup "SharedPrinter_Sales" -path 'OU=Groups,OU=Paris,DC=active-directory,DC=com' -GroupScope Global -PassThru
  1. Запустите редактор групповой политики домена (

    GPMC.msc

    ), создайте новую политику print_AutoConnect и свяжите ее с подразделением с целевыми пользователями;

    Если в вашем домене небольшое количество общих сетевых принтеров (до 30-50), вы можете настроить их с помощью одного объекта групповой политики. Если у вас сложная структура домена с сайтами AD, организационными подразделениями (OU) и вы делегируете некоторые задачи администрирования AD администраторам филиалов, лучше создать несколько политик развертывания принтеров. Например, одна политика для каждого сайта AD или организационного подразделения (OU).

  2. Переключитесь в режим редактирования политики и разверните Конфигурация пользователя -> Настройки -> Настройки панели управления -> Принтеры. Создайте новый элемент политики, выбрав Создать -> Общий принтер;

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

  3. Укажите в качестве действия Обновить. В поле Общий путь введите UNC-адрес вашего общего принтера, например:

    \\srv-par-print\hpsales

    (в моем случае все принтеры подключены к принт-серверу

    \\srv-par-print

    ). Здесь вы можете указать, следует ли установить этот принтер в качестве принтера по умолчанию;

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

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

  4. Перейдите на вкладку Общие и укажите, что принтер должен быть подключен в контексте текущего пользователя (Запускать в контексте безопасности вошедшего в систему пользователя). Кроме того, установите флажок Таргетинг на уровне элемента и нажмите Таргетинг;

  5. Используя таргетинг GPP, вам необходимо указать, что эта политика подключения принтера должна применяться только к членам группы SharedPrinter_Sales. Для этого перейдите в Новый элемент -> Группа безопасности и введите SharedPrinter_Sales в качестве имени группы;

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

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

Также есть старый раздел GPO для настройки принтеров: Конфигурация компьютера -> Политики -> Настройки Windows -> Развернутые принтеры. Но этот метод установки принтеров для пользователей менее гибок, чем описанный выше с использованием GPP.

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

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

Если для этого принтера не установлен драйвер, то принтер, назначенный через GPO, не будет добавлен пользователю. В этом случае в Журнале событий -> Журнал приложений появится событие с идентификатором события 4096:

Source: Group Policy PrintersThe user 'HPLaserJet400' preference item in the 'prnt_AutoConnect}' Group Policy Object did not apply because it failed with error code '0x800702e4 The requested operation requires elevation.' This error was suppressed.

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

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

В 2021 году в службе диспетчера очереди печати была обнаружена критическая уязвимость, для устранения которой Microsoft изменила поведение Windows по умолчанию при установке драйверов печати (PrintNightmare CVE-2021-34527). Теперь пользователи без прав администратора не могут устанавливать драйверы принтера (KB5005033), в том числе с помощью параметра GPO «Ограничение указания и печати». Драйверы Windows (подписанные и неподписанные) должны устанавливаться только администраторами.

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

  1. Перейдите в следующий раздел объекта групповой политики «Конфигурация компьютера» -> «Настройки Windows» -> «Настройки безопасности» -> «Локальные политики» -> «Параметры безопасности». Включите параметр Устройства: запретить пользователям установку драйверов принтера;

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

    {4658ee7e-f050-11d1-b6bd-00c04fa372a7}

    и

    {4d36e979-e325-11ce-bfc1-08002be10318}

    . Это позволит только установить драйверы печати;

  3. Перейдите в раздел Конфигурация компьютера -> Политика -> Административные шаблоны -> Принтеры. Включите политику Ограничение указания и печати. Здесь вам необходимо указать список ваших серверов печати (Пользователи могут только указывать и печатать на эти серверы), с которых вам разрешено устанавливать драйверы печати. Выберите Не показывать предупреждение или запрос на повышение прав для двух оставшихся вариантов;

  4. Добавьте список доверенных серверов печати в параметр Package Point and print — Approved server;

  5. (Теперь самое важное!!!). Чтобы разрешить установку драйверов принтера без прав администратора (для пользователей, не являющихся администраторами), необходимо временно изменить значение параметра реестра RestrictDriverInstallationToAdministrators на 0.

На автономном компьютере вы можете изменить этот параметр реестра с помощью команды:

reg add "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint" /v RestrictDriverInstallationToAdministrators /t REG_DWORD /d 0 /f

Чтобы изменить этот параметр реестра на компьютерах пользователей через объект групповой политики, вам необходимо создать новое правило предпочтений групповой политики в разделе Конфигурация компьютера -> Настройки -> Настройки Windows -> Реестр. Создайте параметр реестра со следующими настройками:

Action: Replace
Hive: HKEY_LOCAL_MACHINE
Key path: Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint
Value name: RestrictDriverInstallationToAdministrators
Type: REG_DWORD
Value: 0

Новые файлы административных шаблонов (ADMX) из Microsoft Security Baseline содержат отдельный параметр GPO для этого параметра реестра. Он называется «Разрешить установку драйвера принтера администраторам» (Конфигурация компьютера -> Политика -> Административные шаблоны -> Принтеры).

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

Теперь обновите настройки GPO на клиентах (перевойдите в систему или запустите

gpupdate /force

команду) и убедитесь, что драйверы серверов печати теперь устанавливаются автоматически. События MsiInstaller должны появиться в журнале приложений:

EventID 1040
Beginning a Windows Installer transaction: C:\Windows\system32\spool\DRIVERS\x64\3\CIOUM64.MSI. Client Process Id: 7240.

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

Но параметр RestrictDriverInstallationToAdministrators делает вашу Windows уязвимой для эксплойта PrintNightmare. Поэтому мы рекомендуем сразу после установки принтеров вернуть его значение в 1.

https://support.microsoft.com/en-us/topic/kb5005652-manage-new-point-and-print-default-driver-installation-behavior-cve-2021-34481-873642bf-2634-49c5-a23b- 6d8e9a302872

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

RestrictDriverInstallationToAdministrators = 1

. При следующем запуске этого сценария он проверяет значение RestrictDriverInstallationToAdministrators и, если оно равно 1, меняет его на 0. Таким образом, все принтеры, назначенные пользователю через объект групповой политики, будут установлены при первом входе в систему, а значение RestrictDriverInstallationToAdministrators будет автоматически переведен в безопасное состояние.

Обратите внимание, что таким способом можно установить только подписанные драйверы принтера (драйверы печати v3 с поддержкой пакетов) (со значением Packaged=True в разделе Драйверы консоли управления печатью).

printmanagement.msc

). См. статью Невозможно установить драйверы печати, не поддерживающие пакеты.

Если вы попытаетесь установить принтер с неподписанным драйвером через GPO, он не будет развернут, несмотря на параметр RestrictDriverInstallationToAdministrators:

The user 'HP2500' preference item in the 'prnt_AutoConnect {GUID}' Group Policy Object did not apply because it failed with error code '0x80070bcb The specified printer driver was not found on the system and needs to be downloaded.' This error was suppressed.

Раньше для установки и подключения принтеров пользователей мне приходилось использовать .bat и скрипты PowerShell. Эти сценарии необходимо запускать как сценарии запуска GPO, а фильтрацию групповой политики можно использовать для установки принтера. Однако гораздо проще использовать GPP для развертывания принтеров.

Статьи по данной тематике