Апр 252016
 

gpo И так, у нас проблема — лень устанавливать на большое количество рабочих мест новоприбывший сетевой принтер, а пользователи хотят его, я бы даже сказал — требуют!
Что же делать в таком случае? Конечно же поработать, потом опять придаваться томной неге…

Приступим:
1. Необходимо сделать это принтер видным для всей сети, в моем случае, я его установил на сервер отвечающий за печать, и на этот же сервер установил драйвера для всех возможных ОС, как х86, так и х64.
2. Необходимо создать небольшой исполняемый файл, в котором мы будем устанавливать принтер, и оставлять его по умолчанию на рабочем месте пользователя.
Назовем мы его printers_share

@echo off
echo Install drivers for network printer "Kyocera ECOSYS M3040idn KX" for server PDC
rundll32 printui.dll,PrintUIEntry /in /n \\pdc\KyoceraM3040idn /q  
echo Install default
rundll32 printui.dll,PrintUIEntry /in /n \\pdc\KyoceraM3040idn /y /q

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

!!! ВНИМАНИЕ Чтобы было понимание — мы в групповой политике привязываемся к доменной группе не случайно, а потому, что будем эту политику распространять на пользователей входящих в какую-либо доменную группу, и эта политика будет распространяться на вход/выход пользователя из доменной учетной записи.
windows, gpo
4. Далее заходим в новоиспеченную политику и идем по пути:
Конфигурация пользователя -> Конфигурация Windows -> Сценарии (вход/выход из системы).
windows, gpo

5. Нас на данный момент интересует сценарий Вход в систему. Кликнув на него мышкой, входим в меню, и добавляем ранее созданный файл в сценарий. Только есть одна хитрость 🙂 , этот файл надо предварительно скопировать по пути:

C:\Windows\SYSVOL\sysvol\< имя домена>\Policies\{93EAE728-3E46-4D4C-BEC9-914C1259A477}\User\Scripts\Logon

6. Добавив в сценарий входа скрипт не стоит останавливаться, так как осталось еще незавершенное дело. Можно конечно оставить все как есть, и у пользователей со следующего входа в систему будет устанавливаться принтер по умолчанию, но выглядит это не универсальным решением. В дальнейшем, если у нас появится или изменится набор принтеров в сети, или мы захотим, чтобы у нас не копились «умершие» принтеры в установленных на компьютере, можно поступить как настоящий админ, и удалять все сетевые принтеры при выходе пользователя из системы, тем самым, при необходимости можно не прибегая к забегам на компьютеры пользователей удаленно добавлять/удалять принтеры.

7.Создаем еще один исполняемый скрипт:
Назовем мы его printers_delete

@echo off
echo Delete connections network printers
REG DELETE "HKEY_CURRENT_USER\Printers\Connections" /f

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

C:\Windows\SYSVOL\sysvol\< имя домена>\Policies\{93EAE728-3E46-4D4C-BEC9-914C1259A477}\User\Scripts\Logoff

Ну вот и все, радуемся автоматизации!

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

\\контроллер домена>\sysvol\< имя домена>\Policies\{93EAE728-3E46-4D4C-BEC9-914C1259A477}\User\Scripts\Logon\printers_share.cmd