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

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

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

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

Создайте три новые группы безопасности в AD (SharedPrinter_Sales, SharedPrinter_IT, SharedPrinter _Managers) и добавьте в них пользователей отдела (вы можете автоматически добавлять пользователей в доменные группы, следуя статье «Создание динамической группы в Active Directory»). Вы можете создавать группы в консоли Active Directory Users and Computers (dsa.msc, ADUC) или с помощью New-ADGroup команды:

New-ADGroup "SharedPrinter_Sales" -path 'OU=Groups,OU=Paris,DC=woshub,DC=com' -GroupScope Global –PassThru

  1. Запустите редактор групповой политики домена (GPMC.msc), создайте новую политику print_AutoConnect и свяжите его с OU с целевыми пользователями; Как установить драйверы и развернуть принтеры для пользователей/компьютеров домена с помощью групповой политики?Как установить драйверы и развернуть принтеры для пользователей/компьютеров домена с помощью групповой политики?
    Если у вас в домене небольшое количество общих сетевых принтеров (до 30-50), вы можете настроить их с помощью одного GPO. Если у вас сложная структура домена с сайтами AD, организационными единицами (OUs) и делегированием некоторых задач администрирования AD администраторам филиалов, лучше создать несколько политик развертывания принтеров. Например, по одной политике для каждого сайта AD или организационной единицы (OU).
  2. Переключитесь в режим редактирования политики и разверните окно Конфигурация пользователя -> Предпочтения -> Настройка панели управления -> Принтеры. Создайте новый элемент политики, выбрав Новый -> Общий принтер;
    Если вы хотите подключить сетевой принтер по его IP-адресу (напрямую, без сервера печати), выберите Принтер TCP/IP.

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

  3. Укажите Обновить как действие. В Общий путь В поле введите UNC-адрес вашего общего принтера, например, \\srv-par-print\hpsales (в моем случае все принтеры подключены к серверу печати \\srv-par-print). Здесь можно указать, следует ли установить этот принтер в качестве принтера по умолчанию; подключение общего принтера с принт-сервера через GPOподключение общего принтера с принт-сервера через GPO
    Вы можете опубликовать общие принтеры в Active Directory. Для этого включите опцию Список в каталоге опция в настройках принтера на Общий доступ вкладка. список общих принтеров в активном каталогесписок общих принтеров в активном каталоге В этом случае вы можете найти свой принтер с помощью поиска в AD (нет необходимости вводить имя принтера вручную). Просто нажмите кнопку с тремя точками, когда вы выберете принтер, нажмите кнопку Найти сейчас и выберите имя принтера точек из списка. поиск общих принтеров в активном каталогепоиск общих принтеров в активном каталоге
  4. Перейдите в раздел Общие на вкладке и укажите, что принтер должен быть подключен в текущем пользовательском контексте (Запуск в контексте безопасности вошедшего в систему пользователя). Также проверьте Нацеливание на уровне предмета опция и щелчок Таргетинг;
  5. Используя таргетинг GPP, необходимо указать, что эта политика подключения принтера должна применяться только к членам группы SharedPrinter_Sales. Чтобы сделать это, перейдите в раздел Новый элемент -> Группа безопасности и введите SharedPrinter_Sales в качестве имени группы; целевое развертывание принтеров: укажите группу безопасности AD для развертывания принтеровцелевое развертывание принтера: укажите группу безопасности AD для развертывания принтеров
    Обратите внимание, что это ограничение не мешает пользователю домена вручную подключить этот принтер с помощью File Explorer. Чтобы ограничить доступ к принтеру, необходимо изменить разрешения безопасности принтера на сервере печати и разрешить печать только для определенных групп.
  6. Аналогичным образом создайте параметры установки сетевого принтера для других групп пользователей. подключение разных принтеров к разным группам безопасностиподключить разные принтеры к разным группам безопасности
Также существует старый раздел GPO для настройки принтеров: Computer Configuration -> Policies -> Windows Settings -> Deployed Printers. Но этот метод установки принтеров для пользователей менее гибкий, чем описанный выше метод с использованием GPP.

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

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

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

ошибка установки принтера: 0x800702e4 требуется повышениеошибка установки принтера: 0x800702e4 требуется возвышение

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

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

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

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

  1. Перейдите в следующий раздел GPO Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options. Включите параметр Устройства: Запретить пользователям устанавливать драйверы принтеров;
  2. Теперь перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> System -> Driver Installation. Добавьте GUID класса устройства принтера в Разрешите неадминистраторам устанавливать драйверы для этих классов устройств параметр {4658ee7e-f050-11d1-b6bd-00c04fa372a7} и {4d36e979-e325-11ce-bfc1-08002be10318}. Это позволит установить только драйверы печати;
  3. Перейдите в Конфигурация компьютера -> Политика -> Административные шаблоны -> Принтеры. Включить политику Ограничение точек и печати. Здесь необходимо указать список ваших серверов печати (Пользователи могут указывать и печатать только на этих серверах), с которых разрешено устанавливать драйверы печати. Выберите Не показывать предупреждение или приглашение к повышению для двух оставшихся вариантов;Настройка политики ограничения точек и печати для установки драйверов печатиНастройка политики ограничения точек и печати для установки драйверов печати
  4. Добавьте список доверенных серверов печати в параметр Пакет Точка и печать — Утвержденные серверы;настройка политики: Пакетная точка и печать - Утвержденный сервер настройка политики: Точка и печать пакетов - Одобренный сервер
  5. (Теперь самый важный момент!!!). Чтобы разрешить установку драйверов принтера без прав администратора (для неадминистративных пользователей), необходимо временно изменить значение параметра RestrictDriverInstallationToAdministrators параметр реестра для 0.

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

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

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

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

Элемент реестра RestrictDriverInstallationToAdministrators для обхода исправления PrintNightmareЭлемент реестра RestrictDriverInstallationToAdministrators для обхода исправления PrintNightmare

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

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

gpo: удалить элемент, когда он больше не применяется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.

eventid 1040 msiinstaller install printer drivereventid 1040 msiinstaller установить драйвер принтера

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

Однако параметр 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. Таким образом, все принтеры, назначенные пользователю через GPO, будут установлены при первом входе, а значение RestrictDriverInstallationToAdministrators будет автоматически изменено на безопасное состояние.

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

драйверы печати с поддержкой пакетов v3 в windowsупакованные драйверы печати v3 в windows

Если вы попытаетесь установить принтер с неподписанным драйвером через 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. Эти сценарии нужно запускать как сценарии Startup GPO, а для целевой установки принтера можно использовать фильтрацию групповой политики. Однако гораздо проще использовать GPP для установки принтеров.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *