Установка принтеров с помощью групповых политик Active Directory

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

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

Подключение принтеров доменным пользователям через GPO

Создайте три новые группы безопасности в AD (prn_HPColorSales, prn_HPColorIT, prn_HPColorManagers) и добавьте в нее пользователей отделов (наполнение групп пользователей можно автоматизировать по статье “ Динамические группы в AD ”). Вы можете создать группы в консоли ADUC , или с помощью командлета New-ADGroup :

New-ADGroup "prnHPColorSales" -path 'OU=Groups,OU=Moscow,DC=corp,dc=remontka,DC=ru' -GroupScope Global –PassThru

  1. Запустите консоль редактора доменных политик ( GPMC.msc ), создайте новую политику prnt_AutoConnect и прилинкуйте ее к Organizational Unit (OU), в котором находятся целевые пользователи;
    Если у вас в домене используется небольшое количество сетевых принтеров (до 30-50), вы можете использовать одну GPO для установки всех принтеров. Если у вас сложная структура домена, есть сайты AD, используется делегирование прав администраторам филиалов, лучше создать несколько политик подключения принтеров. Например, по одной GPO для каждого сайта или OU.

  2. Перейдите в режим редактирования политики и разверните секцию User Configuration -> Preferences -> Control Panel Setting -> Printers . Создайте новый элемент политики с именем Shared Printer;
    Если вы хотите подключать принтер по IP адресу (не через принт-сервер, а напрямую), выберите пункт TCP/IP Printer .

  3. Действие – Update . В поле Shared Path укажите UNC адрес принтера, например, \msk-prnthpcolorsales (в моем примере все принтеры подключены к принт-серверу \msk-prnt ). Здесь же вы можете указать, нужно ли использовать этот принтер в качестве принтера по-умолчанию
    Вы можете опубликовать ваши принтеры в Active Directory. Для этого нужно включить опцию List in the Directory в настройках общего сетевого принтера на вкладке Sharing . В этом случае вы можете не указывать имя принетра вручную, а найти его поиском в AD. Просто нажмите кнопку с тремя точками при выборе принтера, нажмите кнопку Find now и выберите имя сетевого принтера из списка.

  4. Перейдите на вкладку Common и укажите, что принтер нужно подключать в контексте пользователя (опция Run in logged -on user ’s security context ). Затем выберите опцию Item -level targeting и нажмите на кнопку Targeting ;
  5. С помощью нацеливания GPP вам нужно указать, что данная политика подключения принтера применялась только для членов группы prn_HPColorSales. Для этого нажмите New Item -> Security Group -> в качестве имени группы укажите prn_HPColorSales;
    Обратите внимание, что данное ограничение не запрещает любому пользователю домена подключить это принтер вручную в проводнике Windows. Чтобы ограничить доступ к принтеру, нужно изменить права доступа к нему на принт-сервере, ограничив возможность печати определенными группам.

  6. Аналогичным образом создайте политики установки сетевых принтеров для других групп пользователей.
Есть еще старый раздел политик для настройки принтеров — Computer Configuration -> Policies -> Windows Settings -> Deployed Printers, однако этот метод установки принтеров пользователям не такой гибкий, как рассмотренный нами способ с помощью GPP.

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

Если для данного принтера не установлен драйвер, то назначенный через GPO принтер не будет добавлен пользователю. При этом в журнале Event Log -> Application появится событие с Event ID 4096:

Source: Group Policy Printers_x000D_The user 'HPLaserJet4101' preference item in the 'prnt_AutoConnect {0D83EA70-0077-46A3-882A-C4FEED3DA489}' Group Policy Object did not apply because it failed with error code '0x800702e4 The requested operation requires elevation.' This error was suppressed.

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

Разрешить установку принтеров через GPO без прав администратора

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

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

  1. Перейдите в раздел Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options и измените значение параметра Devices: Prevent users from installing printer drivers на Enabled;
  2. Теперь перейдите в Computer Configuration -> Policies -> Administrative Templates -> System -> Driver Installation в параметре Allow non-administrators to install drivers for these device setup classes добавьте классы для устройства типа принтеры {4658ee7e-f050-11d1-b6bd-00c04fa372a7} и {4d36e979-e325-11ce-bfc1-08002be10318} . Это разрешит установку только драйверов печати;
  3. Перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> Printers и включите политику Point and Print Restrictions . Здесь нужно указать список ваших принт-серверов ( Users can only point and print to these servers ), с которых разрешено устанавливать драйверы печати. В двух оставшихся параметрах выберите Don’t show warning or elevation prompt;
  4. Добавьте список ваших доверенных прнит-серверов в параметр Package Point and print — Approved servers ;
  5. (Теперь самый важный пункт!!). Чтобы разрешить установку драйвера печати без прав админа нужно временно изменить значение параметра реестра RestrictDriverInstallationToAdministrators на 0 .

На отдельном компьютере вы можете изменить этот параметр с помощью команды:
reg add "HKEY_LOCAL_MACHINESoftwarePoliciesMicrosoftWindows NTPrintersPointAndPrint" /v RestrictDriverInstallationToAdministrators /t REG_DWORD /d 0 /f
Чтобы изменить этот параметр реестра на компьютере через GPO , нужно создать правило GPP в разделе Computer (Configuration -> Preferences -> Windows Settings -> Registry. Создайте параметр реестра с настройками:

Action: Replace_x000D_Hive : HKEY_LOCAL_MACHINE_x000D_Key path: SoftwarePoliciesMicrosoftWindows NTPrintersPointAndPrint_x000D_Value name : RestrictDriverInstallationToAdministrators_x000D_Type: REG_DWORD_x000D_Value: 0

В новых шаблонах административных ADMX файлов из Mi crosoft Security Baseline для этого параметра реестра добавлен отдельная опция GPO. Называется она Limits printer driver installation to Administrators (находится в разделе Computer Configuration -> Administrative Templates -> Printers).

Перейдите на вкладку Common и включите опцию Remove this item when it is no longer applied .


Теперь обновите настройки GPO на клиентах (перелогиньтесь или выполните gpupdate /force ) и проверьте, что драйвера с принт-серверов теперь устанавливаются автоматически. В журнале Application должны появится события MsiInstaller вида:

EventID 1040_x000D_Beginning a Windows Installer transaction: C:Windowssystem32spoolDRIVERSx643CIOUM64.MSI. Client Process Id: 7240.

Такая 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 будет автоматически изменено на безопасное.

Обратите внимание, что таким образом можно установить только подписанные драйвера принтеров (Package-aware v3 print drivers). Для таких драйверов в консоли Printer Management (printmanagement.msc) в разделе Drivers должно быть указано Packaged = True . Подробнее об этом здесь https://remontka.com/update-kb3170455-network-shared-printer-error/

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

The user 'BrotherDCP2540' 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.
Элемент предпочтения пользователь "BrotherDCP2540" в объекте групповой политики "Подключение принтеров {GUID}" не применен по причине ошибки с кодом '0x80070bcb Указанный драйвер принтера не найден в системе. Необходимо скачать драйвер.' Эта ошибка была отключена.
Раньше для установки и подключения принтеров пользователям мне приходилось использовать VBS / PowerShell скрипты , которые запускались как Startup скрипты GPO и возможности фильтрации групповых политик . Однако использовать Group Policy Preferences для установки принтеров пользователям намного проще.
admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 недели ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 недели ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 недели ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 недели ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 недели ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 недели ago