Рассмотрим возможности автоматического подключения принтеров пользователям домена Active Directory с помощью групповых политик (GPO). Довольно удобно, когда при первом входе в систему у пользователя сразу устанавливаются и появляются в принтерах доступные ему устройства.
Рассмотрим следующую конфигурацию: в организации имеется 3 отдела, каждый отдел должен печатать документы на собственном цветном сетевом принтере. Ваша задача, как администратора, настроить автоматическое подключение сетевых принтеров пользователям в зависимости от отдела.
Подключение принтеров пользователям через GPO
Создайте три новые группы безопасности в AD (prn_HPColorSales, prn_HPColorIT, prn_HPColorManagers) и добавьте в нее пользователей отделов (наполнение групп пользователей можно автоматизировать по статье “Динамические группы в AD”). Вы можете создать группы в консоли ADUC, или с помощью командлета New-ADGroup:
New-ADGroup "prnHPColorSales" -path 'OU=Groups,OU=Moscow,DC=corp,dc=winitpro,DC=ru' -GroupScope Global –PassThru
- Запустите консоль редактора доменных политик (GPMC.msc), создайте новую политику prnt_AutoConnect и прилинкуйте ее к OU с пользователями; Если у вас в домене используется небольшое количество сетевых принтеров (до 30-50), вы можете все их настраивать с помощью одной GPO. Если у вас сложная структура домена, есть сайты AD, используется делегирование прав администраторам филиалов, лучше создать несколько политик подключения принтеров, например по одной политике на сайт или OU.
- Перейдите в режим редактирования политики и разверните секцию User Configuration -> Preferences -> Control Panel Setting -> Printers. Создайте новый элемент политики с именем Shared Printer; Если вы хотите подключать принтер по IP адресу (не через принт-сервера, а напрямую), выберите пункт TCP/IP Printer.
- Действие – Update. В поле Shared Path укажите UNC адрес принтера, например,
\\msk-prnt\hpcolorsales
(в моем примере все принтеры подключены к принт-серверу\\msk-prnt
). Здесь же вы можете указать, нужно ли использовать этот принтер в качестве принтера по-умолчанию; - Перейдите на вкладку Common и укажите, что принтер нужно подключать в контексте пользователя (опция Run in logged-on user’s security context). Также выберите опцию Item-level targeting и нажмите на кнопку Targeting;
- С помощью нацеливания GPP вам нужно указать, что данная политика подключения принтера применялась только для членов группы prn_HPColorSales. Для этого нажмите New Item -> Security Group -> в качестве имени группы укажите prn_HPColorSales; Обратите внимание, что данное ограничение не запрещает любому пользователю домена подключить это принтер вручную в проводнике Windows. Чтобы ограничить доступ к принтеру, нужно изменить права доступа к нему на принт-сервере, ограничив возможность печати определенными группам.
- Аналогичным образом создайте политики подключения принтеров для других групп пользователей.
При использовании такой групповой политики, новые принтера будут устанавливаться у пользователей, только если на их компьютере уже установлен соответствующий принтеру драйвер печати. Дело в том, что у обычных пользователей нет прав на установку драйверов.
Настройка политики подключения принтеров Point and Print Restrictions
Для корректного подключения принтеров у любого пользователя, вам придется настроить политику Point and Print Restrictions и настроить адреса принт-серверов серверов, с которых пользователей разрешено устанавливать принтеры.
Если вы подключаете принтеры через пользовательский раздел политики, перейдите в раздел GPO User Configuration -> Policy -> Administrative Templates -> Control Panel -> Printers -> Printer -> Point and Print Restriction. Включите политику (Enabled) и настройте ее следующим образом:
- Users can only point and print to these servers –укажите список принт-серверов, с которых разрешено устанавливать драйвера (указываются FQDN имена, разделитель точка с запятой);
- When installing driver for new connection -> Do not show warning or elevation prompt
- When installing driver for existing connection -> Do not show warning or elevation prompt.
Аналогичным образом нужно включить политику Package Point and Print – Approved server в разделе User Configuration -> Policies -> Administrative Templates -> Printers и задать в ней список доверенных принт-серверов.
Теперь после перезагрузки компьютера при входе пользователя у него будет автоматически подключаться назначенный ему сетевой принтер.
Несколько лет пользовался GPP для назначения принтеров (Samsung\Kyocera). Единственный нерешенный вопрос это назначение принтера по умолчанию. Если у вас у одного человека доступ к нескольким принтерам, то там начинается чехарда. Кроме того не совсем удобно удалять принтеры и менять им имя через GPP — куча мусора остается. Сейчас некоторые принтеры настроили на развертывание через Computer Configuration -> Policies -> Windows Settings -> Deployed Printers с нацеливанием на пользователя. Как-то понадежней работает.
Вы уверены что это «старый механизм»?
На счет «старого механизма» это чисто мое субъективное мнение. На мой взгляд GPP гораздо гибче при назначении принтеров пользователям.
+ «Deployed Printers» требует обязательного наличия установленной роли Print Server
Простите, а собственно чем плох вариант развертывания через принт сервер?
Указываешь OU с ПК и с юзверями и им соответственно прилетает… разве нет?
Можно распространять принтеры на пользователей и таки образом. Все зависит от инфраструктуры.
Но, на мой взгляд метод с GPP более универсальный и гибкий. Кроме того, не нужно ставить роль принт-сервера, а также можно подключить сетевые принтеры (не опубликованные на принт-сервере) или принтеры с компьютеров других пользователей.
Пример:
Отдел А и принтер #1 и отдел Б, принтер #2.
Политика на пользователя.
Сотрудник из отдела А приходит в отдел Б, логинится и ему из за политики на пользователя прилетает принтер физически расположенный в отделе А. Расстояние между отделами огромное.
По этой причине только политика на машину.
Ситуация Б — машины гораздо чаще перемещаются чем пользователи. Кроме того некоторым при заходе через RDS удобно печатать на принтер своего отдела.
Все зависит от вашей инфрастурктуры, струтуры и бизнес задач…. В статье я лишь привожу свои рекомендации. Можно много привести доводов в пользу обоих примеров.
Как использовать технологию автоподключения принтера — решать вам как сисадмину. Вы лучше значете свою кухню.
Админ, почини SMTP)))
webmaster@example.com
Blacklisted by the SPF Test (sender forged per policy of "example.com", SPF result: "fail").
37.252.2.22
Автор всё правильно указал, работаю админом, использовал все эти методы подключения в разное время и в разной структуре АД. Метод назначения принтера на конкретный OU отдела плох тех, что администратору нужно поддерживать АД в соответствии со штатной структурой организации, и если у вас контора большая, то дублировать работу отдела кадров и учитывать все перемещения персонала и устройств вы задолбаетесь. В итоге использую описанный метод, все мои пользователи в одном контейнере, при создании у.з. или при изменениях я пользуюсь заполнением описания и атрибутов у.з. Сортировать пользователей по атрибутам можно очень гибко. Единственная проблема c частью принтеров и ПК, это когда принт-сервер win 2012R2 на 64 бит, а ПК пользователя на 32 бита Xp,7,8,10…если есть универсальное решение предварительного докидывания драйверов принтеров на ПК до применения политики печати через ГП — буду благодарен. Использовать две политики параллельно, сначала на ПК накидать драйверов,которые криво ставятся, после прилетит политика с назначением принтеров.
1) Большой зоопарк принтеров? Не получится обойтись минимальным набором драйверов на ПК типа HP Universal Print Driver?
2) Пробовали установить x86 драйверы печати на WS2012R2 (не уверен можно ли так). Если можно — такие драйвера должны автоматически устанавливаться клиентами через политику Point&Print Restrictions
Вот не понятно, как подключать сетевые принтеры, «не опубликованные на принт-сервере».
Не говоря уж о том, что на клиентском компьютере откуда-то должны взяться дровишки, все равно оснастка GPMC не дает создать ip принтер, если не вписать ему \\server\printer в соответствующее поле ниже ip-шника собственно принтера.
«3. Действие – Update. В поле Shared Path укажите UNC адрес принтера, например, \\msk-prnt\hpcolorsales»…
Если указать ip адрес сетевого принтера, то данная схема не работает. Как быть, если нет принт-сервера, а у принтера только ip?
Сделать принтсервер или расшарить на любом другом компьютере.
См. ремарку.
Если вы хотите подключать принтер по IP адресу (не через принт-сервера, а напрямую), выберите пункт TCP/IP Printer.
Да, но при этом настройка требует указать printer path, которая позволяет указать через обзор […] принтера, которые расшарены кем-то или на print-сервере и зарегистрированы в ActiveDirectory. А указав \\ip результата не дает.
В поле Printer Path попробуйте указать путь UNC путь к принтеру (в виде
\\pcname\hp2000
), с которого нужно получить драйвер для принтера (это может быть любой другой компьютер с настроенным и расшаренным этим или другим принтером той же модели).Всё хорошо, только последние два пункта надо настраивать не в User Configuration, а в Сomputer Configuration. Второй скриншот снизу именно из того раздела.
Проверил: настройки по меcту «User Configuration -> Policy -> Administrative Templates -> Control Panel -> Printers» на установку принтеров никак не влияют. И даже более того — они вредны (если вчитаться в описание). Поэтому я их поставил в режим «Отключено».
Итого у нас получается две политики. Первая применяется на компьютеры, вторая — на пользователей.
Не корректно выразился. Имел ввиду, что для подключения принтеров через GPO нужно настраивать политику как в разделе User Configuration, так и в разделе Сomputer Configuration. Вот.
а что нужно указать в «Shared printer path» при добавлении принтера как TCP/IP Printer? Тем более если он не расшарен?
Насколько я помню там указывается UNC путь к принтеру, с которого нужно получить драйвера. Т.е. нужно руками подключить и расшиарить этот принтер на одном компьютере.
Добрый день!
Спасибо за статью. Возникло 3 вопроса.
1. Зачем настраивать политики подключения принтеров Point and Print Restrictions. Это же нужно для более старых версий Windows?
2. При перемещении пользователя в другое подразделение принтер не удаляется. А новый появляется.
3. С недавних пор возникла проблема долгой установки принтера на клиентском компьютере. Раньше это происходило после команды gpupdate /force.
Столкнулся с такой проблемой:
Принтер Kyocera 4050
Применяю GPP для пользователей (что бы можно было выставить принтер по умолчанию), но в GPP указываю фильтрацию по группе безопасности компьютера (что бы на сервер не тащить драйвера принтеров)
Поставить галку «Удалить этот элемент когда, он более не применяется», что бы можно было легко и просто удалять принтеры, если они более не работают по каким-то причинам.
Итог: У элемента выставилось действие Заменить, из-за чего при каждом логоне пользователя драйвер именно этого принтера подвешивал систему минут на 15. Пользователь вводил пароль, и видел сообщение «Добро пожаловать».
Остальные 2 принтера нормально работают с Заменой.
Решилось сменой Действия с Замена на Обновить для проблемного принтера. Да, первый логон после создания политики будет немного дольше, но последующие будут залетать махом.
Вариант Replace в GPP используется крайне редко, когда вам нужно что-то сначала гарантированно удалить, а потом установить. Поэтому по умолчанию стоит режиме Update.
А что делать, если принтер все же не подключается? Все настроено в соответствии с вашей статьей, но в логах сыпется ошибка
Элемент предпочтения пользователь "printer_name" в объекте групповой политики "Подключение принтеров {7DEBD8BB-C4C5-4963-B0AA-344332A527A6}" не применен по причине ошибки с кодом '0x80070bcb Указанный драйвер принтера не найден в системе. Необходимо скачать драйвер.' Эта ошибка была отключена.
При этом вручную принтер подключается, правда выдается запрос о доверии к этому принтеру и этому серверу печати. После ручного добавления принтера политика будет работать нормально, пока не удалишь драйвер принтера с клиента
Вам либо предварительно по всем компьютерам нужно драйвера для нужных моделей принтеров поставить, либо(правильный путь) разобраться с политикой Point and Print Restriction.
Также в статье я писал, что MS запрещает установку старых драйверов принтеров, которые не соответствуют стандарту.
Также можете здесь почитать https://winitpro.ru/index.php/2016/08/31/update-kb3170455-network-shared-printer-error/
Имею на входе сервера на WIndows Server 2012 R2 и пользовательские машины на WIndows 10.
А так же парк МФУ Kyocera подключенных к серверу с настроенным принтсервером, все драйвера подписанные (статус True в колонке упакованные).
Столкнулся с той же самой историей, что и Qwerty. Перепробовал уже все варианты, которые нашёл в интернете, но всё равно вижу эту ошибку в лога приложений и принтеры без предварительно установленного драйвера на машине автоматом не появляются. С политикой Point and Restriction (ограничения указания и печати) как только не игрался. У вас, кстати, допущена ошибка. Проблема в том, что эти две политики есть в разделе настроек конфигурации компьютера и в разделе настроек конфигурации пользователя. Ваши скриншоты, как раз расположены в разделе настроек компьютера, ибо в разделе пользователя не возможности выбрать вариант — «не показывать предупреждение или запрос на повышение прав».
На форумах я встречал разные варианты. Кто-то пишет, что нужно политику «Ограничения указания и печати» отключить, а политику «Функция указания и печати для пакетов — Разрешенные серверы» — включить и прописать сервера, кто-то пишет, как у вас, что нужно всё включать, кто-то пишет, что нужно ещё включать политики в пользовательском разделе, но по факту — принтеры не ставятся, при ручном щелканье на принтере на сервере появляется окно — доверяете ли вы принтеру?
Если кто-то нашёл вариант решения проблема, напишите пожалуйста
KB5005652 — управление поведением драйвера по умолчанию (CVE-2021–34481)
Сводка
Windows обновлений, выпущенных 10 августа 2021 г. и более поздних версий, для установки драйверов по умолчанию требуются права администратора. Мы внося это изменение в поведение по умолчанию, чтобы снизить риск на всех Windows, включая устройства, которые не используют функции Point и Print или Print. Дополнительные сведения см. в пунктах Изменение поведения по умолчанию и CVE-2021–34481.
По умолчанию пользователи без прав администратора больше не могут делать следующее с помощью точки и печати:
Установка новых принтеров с помощью драйверов на удаленном компьютере или сервере
Обновление существующих драйверов принтера с помощью драйверов с удаленного компьютера или сервера
https://support.microsoft.com/ru-ru/topic/kb5005652-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%BE%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC-%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0-%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E-cve-2021-34481-873642bf-2634-49c5-a23b-6d8e9a302872
Мы не распространяем принтеры политиками, но в политики настроены так чтобы пользователь без прав админа мог подключить принтер с любого сервера. Может вам поможет:
Computer Configuration / Administrative Templates
Printers / Point and Print Restrictions = Disabled
System / Device Installation / Allow remote access to the Plug and Play interface = Enabled
System / Driver Installation / Allow non-administrators to install drivers for these device setup classes = Enabled
Allow Users to install device drivers for these classes:
{4d36e979-e325-11ce-bfc1-08002be10318}
{4658ee7e-f050-11d1-b6bd-00c04fa372a7}
{49ce6ac8-6f86-11d2-b1e5-0080c72e74a2}
User Configuration / Administrative Templates / Control Panel / Printers
Browse the network to find printers = Enabled
Point and Print Restrictions = Disabled
Prevent addition of printers = Disabled
Prevent deletion of printers = Disabled
Все тоже самое. И драйвера новые ,но все равно 0x80070bcb. HP, Brother нормально прокинулись, а Ricoh просят обновить драйвер. И хоть ты тресни.
И кстати:
When installing driver for new connection -> Do not show warning or elevation prompt
When installing driver for existing connection -> Do not show warning or elevation prompt.
Вот этих пунктов нет в User configurations.
Включал выключал этот
Добрый день!
А в для этого примера, при создании GPO AutoConnect, в фильтре безопасности тогда что должно быть для этой политики прописано, если группы задаются в Нацеливании?
Спасибо!
Используйте Security Filtering по умолчанию —
Authenticated users
.Здравствуйте.
Вдруг будут мысли: есть терминальный сервер и десятки пользователей из разных городов, которые перемещаются между разными пк (внутри своего города). Можно ли сделать так, чтобы в сеансе принтеры подключались в зависимости от пк, с которого юзер вошел по rdp? Т.е. сервак как—то должен узнать, откуда к нему произошло подключение…
Не проще ли цеплять принтер к ПК, а не терминале печать будет работать через EasyPrint на локальном принтере.
Добрый день, подскажите а если у меня нет принтсервера то как указать unc путь и можно как-то указать ему путь на файловый сервер где драйвера лежат или все таки принт сервер надо разворачивать
Настроил по мануалу, все заработало, принтер установился автоматически.
На Вашем сайте очень качественные инструкции, уже не первый раз выручают!
Спасибо большое за Ваш труд!
ставил однажды так принтеры. столкнулся с одной очень неприятной штукой, после отключения пользователя от политики, ему продолжает устанавливается принтер. Где-то это в профиле прописывается или еще где-то? пользователю уже не нужен этот принтер, а он продолжает ставится.
Можно сделать отдельную политики на удаление этого принтера (все то же самое, только действие Delete, применять когда не входит в группу…
Кривовато, но как вариант…
А как удалить у пользователей все USB принтера, что бы в ручную не отключать, не ходить, а так сказать централизовано отключить локальные принтера?
В таком контексте только логон/логоф скриптами. За основу можно взять powershell примеры отсюда:
https://winitpro.ru/index.php/2014/03/05/powershell-manage-printer-windows-8/