Система автоматической установки принтеров
Рассмотрим возможности автоматического подключения принтеров пользователям домена Active Directory с помощью групповых политик (GPO). Довольно удобно, когда при первом входе в систему у пользователя сразу устанавливаются и появляются в принтерах доступные ему устройства.
Рассмотрим следующую конфигурацию: в организации имеется 3 отдела, каждый отдел должен печатать документы на собственном цветном сетевом принтере. Ваша задача, как администратора, настроить автоматическое подключение сетевых принтеров пользователям в зависимости от отдела.
Данная инструкция предполагает использованием Group Policy Preferences – расширения групповых политик, которые появились в Windows Server 2008. Соответственно уровень домена должен быть не менее Windows Server 2008, а клиенты не ниже Win XP SP3.Подключение принтеров пользователям через 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
Если у вас в домене используется небольшое количество сетевых принтеров (до 30-50), вы можете все их настраивать с помощью одной GPO. Если у вас сложная структура домена, есть сайты AD, используется делегирование прав администраторам филиалов, лучше создать несколько политик подключения принтеров, например по одной политике на сайт или OU. Если вы хотите подключать принтер по IP адресу (не через принт-сервера, а напрямую), выберите пункт TCP/IP Printer. Обратите внимание, что данное ограничение не запрещает любому пользователю домена подключить это принтер вручную в проводнике Windows. Чтобы ограничить доступ к принтеру, нужно изменить права доступа к нему на принт-сервере, ограничив возможность печати определенными группам. Есть еще старый раздел политик для настройки принтеров — Computer Configuration -> Policies -> Windows Settings -> Deployed Printers, однако этот метод установки принтеров пользователям не такой гибкий, как рассмотренный ваше способ с помощью GPP.При использовании такой групповой политики, новые принтера будут устанавливаться у пользователей, только если на их компьютере уже установлен соответствующий принтеру драйвер печати. Дело в том, что у обычных пользователей нет прав на установку драйверов.
Настройка политики подключения принтеров Point and Print Restrictions
Для корректного подключения принтеров у любого пользователя, вам придется настроить политику Point and Print Restrictions и настроить адреса принт-серверов серверов, с которых пользователей разрешено устанавливать принтеры.
Напомню, что с 2016 года Microsoft с целью безопасности по-умолчанию запретила установку неподписанных и неупакованных драйверов (non-package-aware v3 printer drivers). Смотри статью Проблема подключения сетевых принтеров.Если вы подключаете принтеры через пользовательский раздел политики, перейдите в раздел 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 и задать в ней список доверенных принт-серверов.
Теперь после перезагрузки компьютера при входе пользователя у него будет автоматически подключаться назначенный ему сетевой принтер.
Здравствуй, уважаемый %habrauser%. Около 3 лет назад я написал статью о том Как я создал систему установки принтеров на работе. Не могу не согласится с комментариями и отзывами от прошлой статьи, гласящие о том, что для установки принтеров можно воспользоваться групповыми политиками, но в мире в enterprise, больших или малых, возможны и другие случаи разного характера когда не смотря на наличие домена и групповых политик не представляется удобным\возможным разворачивать принтеры через GPO-шки. Учитывая собранный опыт и отзывы пришло время показать о моей новой переписанной системе с гораздо большим и удобным функционалом с сохранением минимализма, и я надеюсь, что кому-то она пригодится. В статье я также расскажу о том, с какими трудностями я столкнулся при создании этой системы. Кому стало интересно добро пожаловать под кат. Осторожно! Будет много картинок!
Почему надо менять то, что и так работает
Идея о том, что систему надо переписать пришла когда в очередной раз я получил жалобу от HelpDesk о том, что система не очень удобная и много возни с добавлением нового принтера. Каждый раз после установки принтера на сервер, необходимо было создавать два файла, где первый файл это VBS скрипт установки с записанным в него адресом нового принтера (Например: \\server01\printer1) и BAT файл который запускает этот VBS скрипт. Этот самый BAT файл загружался в систему установки принтеров, откуда пользователи находили нужный принтер и скачивали его. Для пользователей все просто: скачал -> запустил -> принтер поставился. Но настройка для технического отдела была нудной и долгой и эту проблему необходимо было решить.
Постановка требований
Ниже приведен список требований, которые были выполнены по мере разработки:
- В первую очередь должна открываться Home страница с выбором филиала
- Должна быть возможность поиска филиала по имени на Home странице
- После выбора филиала должна открываться страница со списком принтеров соответствующего филиала
- На странице выбора принтеров соответствующего филиала должна быть возможность поиска принтера по имени
- На странице выбранного принтера должна показываться следующая информация
Выбор движка
Конечно есть большое количество возможных вариантов того, на чем можно было бы написать приложение, но я выбрал Java Server Faces Framework (JSF) так, как хотелось немного пощупать то, что это такое, да и возможность упаковать приложение в готовый WAR файл и деплоить его на Tomcat как и на Linux, так и на Windows подкупила меня.
Разработка
Введение
До того момента, я ни разу не писал на Java веб приложения, поэтому все начиналось с трудом. Имел опыт с PHP и то только умел кодить на своем велосипеде самописном движке коричневого качества, да и сейчас вряд ли, наверное, цветовой окрас качества новой системы отличается. Хотелось бы узнать мнение опытных разработчиков по этому поводу. Ссылка на гитхаб будет в конце статьи.
Разработку я начал вести сперва в NetBeans, но спустя некоторе время перешел на Eclipse потому, что Eclipse показался мне гораздо более удобным и понятным.
Проект был создан по MVC паттерну, где: JSP — это сами страницы с HTML и JSTL разметкой (views); Servlet — контроллер, который обрабатывет POST или GET запросы этой страницы; DAO класс страницы — тянет или сохраняет нужную информацию в БД. Если обобщить, то все страницы в системе состоят из JSP и своего Servlet-а, но могут не иметь своего DAO класса, если они статичны, а функции для API состоят только из Servlet-а и DAO класса. В качестве стилистики дизайна я использовал Bootstrap 4.
Структура БД
Структура БД достаточно проста и приведена ниже на картинке:
Имеются 5 таблиц для хранения информации:
- branches — предназначен для хранения филиалов
- printers — здесь хранятся принтеры
- printerstype — типы принтеров
- users — администраторы
- systemsettings — настройки системы, где столбец «parameter» имя настройки и «value» его значение
Трудности
Первая
Вторая
Вторая трудность заключалась в том, как реализовать генерирование файла скрипта установки принтера на лету и чтобы для каждого принтера оно было индивидуальным, и чтобы его можно было редактировать. Решение данной проблемы пришло спустя некоторое время и оказалось следующим. Очевидно, что текст самого скрипта необходимо хранить в БД. Для этих целей создал таблицу systemsettings, добавил туда строку, где в столбец «parameter» вписал «installscript», а в «value» сам VBS скрипт из прошлой статьи. А что если у нас завтра будет не VBS, а PowerShell скрипт или любой другой? Поэтому в таблицу systemsettings добавил еще одну строку, где в столбец «parameter» вписал «installscriptextension», а в «value» значение «vbs». Далее создал Servlet download, который принимает GET значение переменной целочисленного типа printerid и выглядит следущим образом:
Хотелось бы отметить про PRINTER_CUSTOM_FIELD1. Поле создано для случаев, если кому-то будет необходимо хранить какое-то свое значение для скриптовых целей, поэтому оно нигде в системе не отображается. Его можно задать при создании принтера или менять через админку.
Третья
И наконец пробема которую все не удавалось решить — это возможность установки БД при первоначальной настройке прямо с браузера с последующим сохранением данных подключения для работы системы в конфигурационный файл. Сперва я написал огромное полотно Java кода с SQL запросами, которое нормально не работало, но затем обнаружил гораздо более удобный вариант. Есть библиотека с классом ScriptRunner, которая позволяет читать и выполнять SQL файл. С помощью неё создание бд с нужными таблицами умещаются всего лишь в пару строк. Пример указан ниже:
После импорта БД, в конфигурационный файл расположенный в WEB-INF\classes\config.properties записываются данные подключения БД. Каждый раз при обращении к БД система читает этот файл. Конечно чтобы ограничить вход на ссылку /install после установки всем, в config.properties записывается значение «db.configured=yes». Если значение yes, то открыть ссылку /install невозможно.
Отображение знака «online» если принтер в сети
Функцию отображения принтера онлайн я пытался сделать с помощью JavaScript WebSocket, но это у меня не получилось. Поэтому решение было другим. После загурзки страницы посылается AJAX запрос на API PrintDesk CheckPrinterIsOnline и возвращается результат. На основе результата отображается или не отображается знак «Онлайн». Ниже представлен код Java, который это делает:
Недостаток этого метода в том, что пингует принтер не сам пользователь, а сервер и может быть сеть устроена так, что доступа с сервера на принтер может и не быть (или вообще отключен ICMP), хотя принтер в онлайне в этот момент. Конечно хотелось бы мне устранить этот недостаток и вообще иметь возможность как-то даже получать информацию о том, что происходит во время запроса в принтере, но пока не знаю как это реализовать.
Заключение
В заключение могу сказать, что во время разработки я многому научился и надеюсь, что мои труды кому-то окажутся полезными. На долгосрочную перспективу планирую расширять и улучшать функционал с сохранением удобства и НЕ перегруженности системы. Спасибо за внимание!
Здравствуй, уважаемый %user%. Сегодня я расскажу о том, как я написал пользовательскую систему для обеспечения возможности пользователям самим устанавливать требуемые для них принтеры. Немного расскажу о месте где я работаю, чтобы было понятно зачем я это сделал. Заранее скажу, что о существовании компонента роли в Windows Server 2012 R2, которая даёт возможность установить принтер с браузера я знал. Но мне хотелось изобрести свой велосипед, да и ограничения здесь будут наверное в фантазии. Кому стало интересно добро пожаловать под кат. Для не терпеливых сразу скажу, что скриншоты в конце статьи.
Немного о работе
Работаю я в хелпдеске в некой большой организации, которая имеет много филиалов. Имеется более тысячи сотрудников работающие перед компьютерами. Можно догадаться, что есть большой зоопарк сетевых принтеров, есть отдельные работники отвечающие за работоспособность принтеров. Установку принтеров компьютерам осуществляем мы – хелпдеск. Очень часто сотрудники разных отделов переходят из одного рабочего места в другое, приходят или увольняются, или вообще меняют должность и профессию и так далее. Куча всего интересного. Соответственно из-за этого очень часто поступают звонки к нам в хелпдеск о просьбе установить им принтер. Понимаете, попросить пользователя, сказать IP адрес принтера, это все равно что попросить обезьяну сварить суп. Приведу пример диалога (реальный случай):
U- Здравствуйте, это хелпдеск туда я попал?Я- Да. Правильно. Вы туда попали
U- Помогите мне пожалуйста установить принтер на мой компьютер
Я-Хорошо, скажите мне пожалуйста имя вашего компьютера.
U-Имя моего компьютера comp-01 (имя вымышленное)
Я-Какой принтер вам поставить? (Подключаясь к компьютеру)
U- HP LaserJet 600, он находится в %place%
Я – расположение принтера мне ничего не дает (и правда поменяют его другим принтером так как первый испортился, или поменяют его место). Хорошо, можете ли вы мне сказать ip адрес этого принтера?
U- ….
Пауза на конце трубки. Я аж услышал, как зашевелился у пользователя мозг, пошла кровь из ушей и наконец он спросил
U- Простите что? Айми? Что вам сказать? Айми адрес?
Я – Айпи, айпи адрес.
U- Айпи? А что это такое? Как можно на него посмотреть?
Я –Ладно скажите кроме вас кто-то еще этим принтером пользуется?
U-Ну им пользуется %another_user%
Я-Пожалуйста попросите у него имя компьютера и получите разрешение чтобы я на секундочку к нему подключился
U- Ок, сейчас (и слышу приглушенный голос того как он спрашивает у %another_user% имя компьютера и разрешение на подключение)
Я-…..(думая про себя: айми айми айми, елки палки какую рифму на айми можно придумать)
U-Алё
Я- Да, я вас слушаю
U- Имя компьютера comp-02, можете подключаться
Я- Попросите %another_user% показать мне принтер, которым он постоянно пользуется (подключаюсь к компьютеру)
U- Ок, сейчас (опять приглушенный голос)…… — Вот этот
Я- Ок, хорошо, я понял всё не буду вас задерживать на линии сейчас сам всё поставлю и настрою
U- Хорошо, спасибо. Однако вы мне не сказали, что такое айми.
Я- Наверное, вы имели в виду айпи. Ну сложно будет объяснить сейчас, так как звонков многовато, но в общем это адрес устройства в сети.
Вы слышали когда-нибудь как ломается мозг у гуманитария? Я услышал этот звук, знаете такой глухой звук с брызгами большого количество информации с содержанием одной лишь только «воды».
U – . (долгая пауза)… Ясно. Я отойду по делам а вы поставьте принтер
Я- Да, хорошо, до свидания
А теперь представьте, что каждый третий звонящий в хелпдеск, с просьбой установить принтер в таком же состоянии. Как быть? Данного рода диалоги очень сильно утомляют, да и объяснить юзверю как напечатать конфигурацию устройства, чтобы посмотреть на IP принтера, это что-то сверхтяжелое. Значит нужна какая-то автоматизация. А что если собрать централизованно все принтеры на один отдельный принтер сервер, написать некий простой веб-сайт с дружелюбным интерфейсом. Пару кликов и принтер установился. Вызов принят.
Все не так и сложно как кажется
Попросил системных администраторов выделить отдельный сервер на Windows Server 2012 R2.
На принтер сервере
- Установил роль Printer Sever
- Создал папку scripts$, чтобы хранить скрипты установки принтеров
- Установил XAMPP
- Добавил apache и mysql как службу в автозагрузку, чтобы в случае перезагрузки сервера, веб-сайт не грохнулся
Начинаем программировать
Веб-сайт построен на PHP написанием самописного MVC движка, с помощью использования только редактора Notepad++, Google и браузера (да – только по хардкору). Знаниями по какому-то фреймворку не обладаю, изучать лень, использовать javascript фреймворки в 2к17?, да и не слишком ли много для принтеров?
Поставим цель, что нам нужно от этой системы:
- Максимально простая и наглядная для пользователя
- Возможность создания учетных записей администраторов
- Возможность добавлять\удалять принтеры администраторам
- Возможность добавлять\удалять филиалы администраторам
- Наличие какой-либо справочной информации для пользователя
- Смена языка
- Возможность устанавливать принтеры не одним, а несколькими методами (скриптами)
- App
- Configs
- Controllers
- Locale
- Views
- Uploads
В папке configs создадим файл database.php:
Зайдем в браузере в phpmyadmin, создадим базу данных printer с использованием кодировки utf8_general_ci. Создадим 3 таблицы с именами branches, printers, users.
Структура branches:
Имя | Тип | Дополнительно |
---|---|---|
Id | int(6) | AUTO_INCREMENT, PRIMARY, UNIQUE |
branch_name | varchar(255) | |
image | varchar(255) |
Структура printers:
Имя | Тип | Дополнительно |
---|---|---|
Id | int(6) | AUTO_INCREMENT, PRIMARY, UNIQUE |
Name | varchar(255) | |
branchid | int(6) | По умолчанию значение: 1 |
description | text | |
ipaddress | varchar(255) | |
image | varchar(255) | |
File1 | varchar(255) | |
File2 | varchar(255) | |
File3 | varchar(255) |
Структура users:
Имя | Тип | Дополнительно |
---|---|---|
Id | int(6) | AUTO_INCREMENT, PRIMARY, UNIQUE |
Login | varchar(128) | |
Token | varchar(128) | |
password | varchar(128) | |
lang | varchar(10) | |
logindate | varchar(255) |
Как видно из таблиц branchid определяет к какому филиалу относится принтер (получив значение его id).
Создадим запись с id равной 1, именем филиала «none» и image значением «none». Эта запись нужна для того чтобы задавать принтеру не установленный филиал. Первая запись захардкожена и не отображается в списках филиалов, как и для юзверей так и в админке. Её удалить нельзя.
Класс Database я нашел в просторах интернета. В нем имеется функция для подключения к нашей базе данных, с использования значений для подключения от файла database.php находящийся в папке configs и функция для осуществления запросов к БД.
Класс İnfo используется для получения, изменения, удаления данных из БД. Именно с использованием этого класса осуществляются все операции в системе.
Одним из важных классов является класс Controller.php. Как видно из названия этот класс является контроллером, который принимает GET и POST запросы в __construct($get, $post) из index.php. Получив определенный запрос он собирает куски страницы во едино соответственно требуемому запросу и выполняет требуемые функции из Info.php.
Класс Views является классом, который загружает куски страницы. Каждая страница имеет свое название соответствующее php файлу в папке Views. Так к примеру, чтобы отобразить главную страницу, следует написать:
В этом же классе определяется текущий язык пользователя, загружается локализация из ini файла и создается переменная $lang, которая уже используется в самом куске страницы. Пример кода главной страницы (dashboard.php):
В папке views так же есть файлы css, javascript. За основу CSS стилей я использовал Bootstrap.
Класс Lang определяет текущий язык пользователя. Сперва он пытается получить куки «cookie_lang». Если не обнаруживает его, то ставит по умолчанию русский язык. Функция getLangArray() загружает нужный ini файл и возвращает массив вида «ключ» — > «значение». Именно эта функция используется в классе views.
Что мы получили
Пользователь заходит на главную страницу. Там описание того куда он попал и кнопка, которая открывает список всех филиалов. После того как пользователь выберет филиал, откроется список принтеров. Принтеры отображаются в виде сетки, где их фотографии и их названия. Пользователь выбирает принтер, открывается страница с выбранным принтером, где есть большая кнопка «Установить» (также там информация о принтере, его İP адрес). При нажатии на эту кнопку скачивается bat файл, который в свою очередь открывает vbs скрипт, расшаренный в папке scripts$ на принтер сервере. Проблема в том что если закачивать файл vbs, то вместо того чтобы скачать его, браузер открывает этот файл у себя в новой вкладке. Поэтому пришлось так извращаться. Vbs файлы на шаре папке тоже рассортированы вместе со своим bat файлом по папкам. К примеру, ниже приведена структура папки:
При добавлении нового принтера через админку, заполняются требуемые поля и выбирается нужный bat файл из шары. Файл установки, фотография принтера загружается в папку uploads. В админке сделано так, что мы можем закачать до трех разных файлов установки. Сколько файлов закачано столько и кнопок «Установить». В данном случае обошлось без альтернативных методов установки принтеров. VBS скрипта оказалось достаточно.
VBS script
Vbs скрипт устанавливающий принтер выглядел таким образом:
Данный скрипт выполняется в невидимом режиме, какое-то время отображается окно командной строки, затем он исчезает. Данный скрипт обладает минусом того, что не понятно, что происходит. Поэтому подумав немного поменял его в такой вид:
Скриншоты
Исходный код всего этого выложил на github
Теперь звонков по поводу установки принтеров стало намного меньше.
Спасибо за внимание!
Рассмотрим возможности автоматического подключения принтеров пользователям домена Active Directory с помощью групповых политик (GPO). Довольно удобно, когда при первом входе в систему у пользователя сразу устанавливаются и появляются в принтерах доступные ему устройства.
Рассмотрим следующую конфигурацию: в организации имеется 3 отдела, каждый отдел должен печатать документы на собственном цветном сетевом принтере. Ваша задача, как администратора, настроить автоматическое подключение сетевых принтеров пользователям в зависимости от отдела.
Данная инструкция предполагает использованием Group Policy Preferences – расширения групповых политик, которые появились в Windows Server 2008. Соответственно уровень домена должен быть не менее Windows Server 2008, а клиенты не ниже Win XP SP3.Подключение принтеров пользователям через 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
Если у вас в домене используется небольшое количество сетевых принтеров (до 30-50), вы можете все их настраивать с помощью одной GPO. Если у вас сложная структура домена, есть сайты AD, используется делегирование прав администраторам филиалов, лучше создать несколько политик подключения принтеров, например по одной политике на сайт или OU. Если вы хотите подключать принтер по IP адресу (не через принт-сервера, а напрямую), выберите пункт TCP/IP Printer. Обратите внимание, что данное ограничение не запрещает любому пользователю домена подключить это принтер вручную в проводнике Windows. Чтобы ограничить доступ к принтеру, нужно изменить права доступа к нему на принт-сервере, ограничив возможность печати определенными группам.При использовании такой групповой политики, новые принтера будут устанавливаться у пользователей, только если на их компьютере уже установлен соответствующий принтеру драйвер печати. Дело в том, что у обычных пользователей нет прав на установку драйверов.
Настройка политики подключения принтеров Point and Print Restrictions
Для корректного подключения принтеров у любого пользователя, вам придется настроить политику Point and Print Restrictions и настроить адреса принт-серверов серверов, с которых пользователей разрешено устанавливать принтеры.
Напомню, что с 2016 года Microsoft с целью безопасности по-умолчанию запретила установку неподписанных и неупакованных драйверов (non-package-aware v3 printer drivers). Смотри статью Проблема подключения сетевых принтеров.Если вы подключаете принтеры через пользовательский раздел политики, перейдите в раздел 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 и задать в ней список доверенных принт-серверов.
Теперь после перезагрузки компьютера при входе пользователя у него будет автоматически подключаться назначенный ему сетевой принтер.
Раньше для подключения принтеров пользователей мне приходилось использовать VBS /PowerShell скрипты установки и подключения принтеров, которые запускались как Startup скрипты GPO и возможностей фильтрации групповых политик. Однако использовать GPP политики для настройки принтеров на мой взгляд намного проще. Предыдущая статья Следующая статьяМожно распространять принтеры на пользователей и таки образом. Все зависит от инфраструктуры.
Но, на мой взгляд метод с GPP более универсальный и гибкий. Кроме того, не нужно ставить роль принт-сервера, а также можно подключить сетевые принтеры (не опубликованные на принт-сервере) или принтеры с компьютеров других пользователей.
Админ, почини SMTP)))
[email protected]
Blacklisted by the SPF Test (sender forged per policy of "example.com", SPF result: "fail").
37.252.2.22
Если указать ip адрес сетевого принтера, то данная схема не работает. Как быть, если нет принт-сервера, а у принтера только ip?
Сделать принтсервер или расшарить на любом другом компьютере.
См. ремарку. Если вы хотите подключать принтер по IP адресу (не через принт-сервера, а напрямую), выберите пункт TCP/IP Printer.
В поле Printer Path попробуйте указать путь UNC путь к принтеру (в виде \\pcname\hp2000 ), с которого нужно получить драйвер для принтера (это может быть любой другой компьютер с настроенным и расшаренным этим или другим принтером той же модели).
Всё хорошо, только последние два пункта надо настраивать не в User Configuration, а в Сomputer Configuration. Второй скриншот снизу именно из того раздела.
Не корректно выразился. Имел ввиду, что для подключения принтеров через GPO нужно настраивать политику как в разделе User Configuration, так и в разделе Сomputer Configuration. Вот.
Насколько я помню там указывается UNC путь к принтеру, с которого нужно получить драйвера. Т.е. нужно руками подключить и расшиарить этот принтер на одном компьютере.
Добрый день!
Спасибо за статью. Возникло 3 вопроса.
1. Зачем настраивать политики подключения принтеров Point and Print Restrictions. Это же нужно для более старых версий Windows?
2. При перемещении пользователя в другое подразделение принтер не удаляется. А новый появляется.
3. С недавних пор возникла проблема долгой установки принтера на клиентском компьютере. Раньше это происходило после команды gpupdate /force.
Решилось сменой Действия с Замена на Обновить для проблемного принтера. Да, первый логон после создания политики будет немного дольше, но последующие будут залетать махом.
Вариант Replace в GPP используется крайне редко, когда вам нужно что-то сначала гарантированно удалить, а потом установить. Поэтому по умолчанию стоит режиме Update.
А что делать, если принтер все же не подключается? Все настроено в соответствии с вашей статьей, но в логах сыпется ошибка
Элемент предпочтения пользователь "printer_name" в объекте групповой политики "Подключение принтеров " не применен по причине ошибки с кодом '0x80070bcb Указанный драйвер принтера не найден в системе. Необходимо скачать драйвер.' Эта ошибка была отключена.
При этом вручную принтер подключается, правда выдается запрос о доверии к этому принтеру и этому серверу печати. После ручного добавления принтера политика будет работать нормально, пока не удалишь драйвер принтера с клиента
KB5005652 — управление поведением драйвера по умолчанию (CVE-2021–34481)
Сводка
Windows обновлений, выпущенных 10 августа 2021 г. и более поздних версий, для установки драйверов по умолчанию требуются права администратора. Мы внося это изменение в поведение по умолчанию, чтобы снизить риск на всех Windows, включая устройства, которые не используют функции Point и Print или Print. Дополнительные сведения см. в пунктах Изменение поведения по умолчанию и CVE-2021–34481.
По умолчанию пользователи без прав администратора больше не могут делать следующее с помощью точки и печати:
Установка новых принтеров с помощью драйверов на удаленном компьютере или сервере
Мы не распространяем принтеры политиками, но в политики настроены так чтобы пользователь без прав админа мог подключить принтер с любого сервера. Может вам поможет:
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:
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, в фильтре безопасности тогда что должно быть для этой политики прописано, если группы задаются в Нацеливании?
Спасибо!
Не проще ли цеплять принтер к ПК, а не терминале печать будет работать через EasyPrint на локальном принтере.
Добрый день, подскажите а если у меня нет принтсервера то как указать unc путь и можно как-то указать ему путь на файловый сервер где драйвера лежат или все таки принт сервер надо разворачивать
Настроил по мануалу, все заработало, принтер установился автоматически.
На Вашем сайте очень качественные инструкции, уже не первый раз выручают!
Спасибо большое за Ваш труд!
ставил однажды так принтеры. столкнулся с одной очень неприятной штукой, после отключения пользователя от политики, ему продолжает устанавливается принтер. Где-то это в профиле прописывается или еще где-то? пользователю уже не нужен этот принтер, а он продолжает ставится.
Операционная система Windows 7 дает нам возможность установки принтеров без драйверов, благодаря большому количеству принтеров, которые уже установлены в базе данных системы. Хватит всего лишь обновить драйверы и вы сможете печатать и использовать принтер, как если бы он был установлен с компакт-диска или с помощью драйверов из Интернета.
Если установка не происходит, нужно зайти в свойства компьютера и обновить драйверы из Диспетчера устройств. При установке может помочь поиск файлов после их распаковки в определенной папке.
Как вы можете видеть на картинке выше, появится предупредительный знак драйвера. Правой кнопкой мыши нажмите на нем и выберите опцию обновления в Интернете. Компьютер будет искать драйверы в интернете: чтобы этот способ сработал, компьютер должен быть подключен к Интернету. Обновление может занять несколько минут.
/fa-clock-o/ ЕЖЕНЕДЕЛЬНЫЙ ТРЕНД$type=list
ПОСЛЕДНИЕ ПУБЛИКАЦИИ$type=blogging$m=0$cate=0$sn=0$rm=0$c=3$va=0
/fa-fire/ ПОПУЛЯРНОСТИ ГОДА$type=one
Если вы хотите сделать коллаж или распечатать фотографию на память с несколькими снимками друзей, семьи. Все же коллаж выглядит лучше на о.
Настроить принтер Canon для печати только черным цветом или в оттенках серого можно быстро и без установки дополнительных драйверов. Осно.
Иногда появляется необходимость убрать поля на наших отпечатках: либо потому, что нам просто так хочется, или потому, что документ нужно.
Footer Social$type=social_icons
блок продувки,1,бумага,16,выравнивание,2,гарантия,3,деинсталляция,1,драйверы,117,замятие бумаги,34,заправка,120,инородный объект,4,каретка,8,картриджи,244,качество печати,46,конструкция печатных устройств,37,копировальные аппараты,9,копирование,2,лазерные принтеры,58,материнская плата,1,матричные принтеры,4,мигающий индикатор,15,многоразовые картриджи,1,многофункциональные принтеры,45,настройки,292,неполадки,152,обратная связь,1,общий доступ,6,операционная система,2,открыть картридж,6,ошибка,176,памперс,89,параметры печати,10,печатающая головка,44,ПО,41,проблемы печати,69,работоспособность,11,разрешение,3,расположение цветов,27,ресурс картриджа,39,руководство пользователя,2,сброс настроек,110,сброс счетчика страниц,37,серийный номер,1,система непрерывной подачи чернил,78,сканирование,39,соединение,44,сопла,15,срок службы,16,старые принтеры,9,стоимость,10,струйные принтеры,281,счетчик страниц,18,тонер,1,установка,150,фотобарабан,3,фотопечать,9,характеристики,103,чернила,66,чистка,64,чистка картриджей,7,электронная почта,3,энергосбережение,4,язык,2,Android,6,Brother,37,Canon,258,Chromebook,5,CMYK,1,Dell,3,Eprint,4,Epson,189,Facebook,1,HP,194,Internet Explorer,2,iPad,1,Kodak,1,Konica Minolta,1,Kyocera,5,Lexmark,28,Mac,9,Microsoft,5,Optra,1,PDF,2,Samsung,12,Samsung Galaxy,3,Sharp,11,Ubuntu,3,USB,3,WiFi,17,windows 7,21,windows 8,22,Windows Phone,1,Xerox,1,
ru.Relenado: Автоматическая установка принтера на ОС Windows 7
Автоматическая установка принтера на ОС Windows 7: чего ожидать при автоматической установки принтера на ОС Windows 7 и как устранить неполадки, если таковые возникнут
Загрузка всех публикаций Публикация не найдена ВИДЕТЬ ВСЕ Читать дальше ответчик Отменить ответ удалять Por Главная страница страницы ИЗДАНИЯ Ver Todo РЕКОМЕНДУЕМ ДЛЯ ВАС: ЭТИКЕТКИ АРХИВЫ ПОИСК ВСЕ ПУБЛИКАЦИИ Не найдено ни одной публикации, соответствующей вашему поиску. Вернуться на главную страницу Воскресенье Понедельник Вторник Среда Четверг Пятница Суббота ВСК ПНД ВТР СРД ЧТВ ПТН СБТ январь февраль март апрель май июнь июль август сентябрь октябрь ноябрь декабрь янв фев мар апр май июн июл авг сен окт ноя дек прямо сейчас 1 минута назад $$1$$ минут Hace 1 время $$1$$ часов Ayer $$1$$ дней $$1$$ недель более 5 недель Seguidores Seguir THIS PREMIUM CONTENT IS LOCKED STEP 1: Share. STEP 2: Click the link you shared to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy
Читайте также: