Групповая политика удалить файл
Как много ваших пользователей сохраняют определенные документы в нужных папках и не разбрасывают их на своем рабочем столе? А как много ваших пользователей создают у себя в папке учетной записи пользователя осмысленные вложенные папки, с которыми потом они будут работать? Сомневаюсь, что к таким пользователям можно отнести даже треть сотрудников любой организации. Создание папки для одного пользователя в своем филиале, не является проблемой. Но, если перед вами будет по какой-то причине поставлена задача по созданию, скажем, 15 папок у 50 пользователей двух отделов, которые могут находиться в разных концах здания или, вообще, в офисах, расположенных в разных зданиях или городах, то весь этот процесс у вас может занять много вашего времени. Если же перед вами стоит такая задача, то вам следует попробовать воспользоваться предпочтениями групповой политики. В предыдущих двух статьях этого цикла вы уже узнали о том, как можно управлять системными переменными средами и переменными средами пользователей, а также научились создавать, заменять и удалять файлы ваших пользователей.
В этой статье речь пойдет об очередном расширении клиентской стороны, а именно о расширении CSE «Папки», за которое, как и в случае с CSE «Файлы», отвечает библиотека gpprefcl.dll, но в отличие от предыдущего расширения клиентской стороны, с предпочтением групповой политики папок связан идентификатор GUID . Как и в случаях, описанных в предыдущих статьях, расширением клиентской стороны «Папки» вы можете управлять из узлов конфигурации компьютера и конфигурации пользователя оснастки «Редактор управления групповыми политиками».
Узел предпочтений групповой политики «Папки»
Как вы помните, при создании файлов средствами предпочтения групповой политики, в том случае, если при их создании вы указали несуществующую папку, то такая папка будет создана в процессе развертывания объекта групповой политики. С какой-то стороны это удобно. Вы можете просто создать для своих пользователей файлы в новых папках. Но если вашим пользователям не нужны новые документы или другие файлы, которые только могут их сбить с толку и тем самым остановить работу на несколько часов, вы можете создать еще один элемент предпочтения, который будет удалять созданный вами файл. Но в таком случае будут обрабатываться несколько объектов GPO, выполняющих противоположные действия. Целесообразно ли это? Вряд ли. Если же перед вами стоит задача централизованного создания папок, то вам следует использовать элементы предпочтений групповой политики, расположенные в узлах «Папки» из узлов конфигурации компьютера и конфигурации пользователя оснастки «Редактор управления групповыми политиками». Элементы предпочтений, расположенные в текущих узлах редактора управления групповой политики предоставляют возможность создавать, изменять и удалять папки, а также соответствующие атрибуты для этих папок. Помимо этого, при помощи данного расширения CSE, вы можете настраивать элемент предпочтения на удаление всех файлов в конкретной папке, не удаляя саму папку.
В этом примере будет создана папка и удалена одна папка со всеми вложенными пустыми папками. Для того чтобы сделать все указанные выше задачи, выполните следующие действия:
- Откройте оснастку «Управление групповой политикой», в дереве консоли разверните узел «Лес: %имя леса%», узел «Домены», затем узел с названием вашего домена, после чего узел «Объекты групповой политики». В узле «Объекты групповой политики» создайте объект GPO, например, «Предпочитаемая политика папок», выберите этот объект GPO, нажмите на нем правой кнопкой мыши и из контекстного меню выберите команду «Изменить»;
- В оснастке «Редактор управления групповыми политиками», в дереве консоли разверните узел Конфигурация пользователя\Настройка\Конфигурация Windows и выберите узел «Папки». Щелкните на данном узле правой кнопкой мыши и из контекстного меню выберите команду «Создать», а затем команду «Папка», как показано на следующей иллюстрации:
Рис. 1. Создание предпочтения групповой политики папок
- Создать. Это действие позволяет вам создавать новые папки для пользователей или компьютеров;
- Заменить. Текущее действие позволяет вам удалить, а затем заново создать папку для пользователя или компьютера, причем для действий «Удалить» и «Заменить» вы можете воспользоваться специальными атрибутами, о которых будет написано немного ниже;
- Обновить. Данное действие похоже на предыдущее, но отличается тем, что при использовании действия обновления, вы не можете удалять вложенные папки и файлы, а лишь обновлять параметры, указанные в создаваемом вами элементе;
- Удалить. При помощи этого действия вы можете удалить папку пользователя или компьютера.
В связи с тем, что первым примером в этой статье является действие создания новой папки, из раскрывающегося списка действия, выберите команду «Создать».
В отличие от процесса создания файлов, при работе с элементами папок, вам не нужно указывать не исходные, не конечные расположения, а просто нужно указать путь к расположению папки, которая будет создаваться. Вы можете ввести путь к папке в текстовом поле «Путь» или выбрать расположение папки, вызвав диалоговое окно «Выбор папки». Но, в случае работы с диалоговым окном выбора папки обратите внимание на то, что вы сможете выбрать расположение на текущем компьютере. Введите в текстовое поле путь, скажем, «C:\BiopharmDocs».
Помимо указания пути к создаваемой папке, вы также можете настроить стандартные системные атрибуты «Только чтение», «Скрытый» и «Архивация», установив для этого соответствующие флажки. Обратите внимание на то, что при выборе действия «Удалить» вы не сможете воспользоваться данными атрибутами. Пример настройки данной вкладки отображен на следующей иллюстрации:
Рис. 2. Вкладка «Общие» диалогового окна свойств новой папки
Рис. 3. Настройки общих параметров при создании новой папки
Рис. 4. Настройка нацеливания на уровень элемента
Так как стоит задача удаления пустых папок, вам следует установить следующие флажки: «Удалить папку (если очищена)» (при выборе действия «Удалить» этот флажок установлен по умолчанию и его невозможно снять), а также «Удалить все вложенные папки (если очищены)», как можно увидеть на следующей иллюстрации:
Создание элемента предпочтения для удаления пустых папок
Заключение
В этой статье продолжается обзор элементов предпочтения групповой политики. Вы узнали о расширении клиентской стороны предпочтений групповой политики «Папки». В статье были рассмотрены примеры создания и удаления папки, а также был рассмотрен новый элемент нацеленности предпочтений на уровень элемента, позволяющий указывать домен, членом которого должен являться пользователь или компьютер.
20.05.2021
itpro
Windows 10, Windows Server 2016, Групповые политики
комментарий 31
rОдним из основных инструментов тонкой настройки параметров пользователя и среды Windows являются групповые политики — GPO (Group Policy Object). На сам компьютер и его пользователей могут действовать доменные групповые политики (если компьютер состоит в домене Active Directory) и локальные (эти политики настраиваются локально на компьютере). Однако некорректная настройка некоторых параметров GPO может привести к различным проблемам: невозможность подключить принтер, запрет на подключение USB накопителей, ограничение сетевого доступа некорректными настройками брандмауэра Windows, запрета на установку или запуск любых приложений (через политики SPR или AppLocker) или на локальный или удаленный вход на компьютеры.
Если администратор не может локально войти в систему, или не знает точно какая из примененных им настроек GPO вызывает проблему, приходится прибегать к аварийному сценарию сброса настроек групповых политик на настройки по-умолчанию. В “чистом” состоянии ни один из параметров групповых политик не задан.
В этой статье мы покажем несколько методов сброса настроек параметров локальных и доменных групповых политик к значениям по умолчанию. Эта инструкция является универсальной и может быть использована для сброса настроек GPO на всех поддерживаемых версиях Windows: начиная с Windows 7 и заканчивая Windows 10, а также для всех версий Windows Server 2008/R2, 2012/R2 / 2016 и 2019.
Сброс параметров локальной групповой политики с помощью редактора gpedit.msc
Этот способ предполагает использование графической консоли редактора локальной групповой политики gpedit.msc для отключения всех настроенных политик. Графический редактор локальной GPO доступен только в Pro, Enterprise и Education редакциях Windows 10.
Совет. В домашних (Home) редакциях Windows консоль Local Group Policy Editor отсутствует, однако запустить ее все-таки можно. По ссылкам ниже вы сможете скачать и установить консоль gpedit.msc для Windows 7 и Windows 10:
Запустите оснастку gpedit.msc и перейдите в раздел All Settings локальных политик компьютера (Local Computer Policy -> Computer Configuration — > Administrative templates / Политика “Локальный компьютер” -> Конфигурация компьютера -> Административные шаблоны). В этом разделе содержится список всех политик, доступных к настройке в административных шаблонах. Отсортируйте политики по столбцу State (Состояние) и найдите все активные политики (находятся в состоянии Disabled / Отключено или Enabled / Включено). Отключите действие все (или только определенные настройки GPO), переведя их в состояние Not configured (Не задана).
Чтобы создать резервную копию текущих настроек локальной GPO можно использовать утилиту LGPO.exe из Security Compliance Manager.
Аналогично измените настройки параметров в пользовательском разделе локальных политик (User Configuration/ Конфигурация пользователя). Так можно отключить действие всех настроек административных шаблонов GPO.
Совет. Список всех примененных настроек локальных и доменных политик в удобном html отчете можно получить с помощью встроенной утилиты GPResult командой:
gpresult /h c:\distr\gpreport2.html
Указанный выше способ сброса групповых политик в Windows подойдет для самых “простых” случаев. Некорректные настройки групповых политик могут привести к более серьезным проблемам. Например, невозможность запустить оснастку gpedit.msc или вообще любых программ, потери административных прав на компьютере, или запрета на локальный вход в систему. В таких случаях приходится сбрасывать сохраненные настройки GPO в локальных файлах на компьютере.
Файлы групповых политик Registry.pol
Архитектура групповых политик Windows основана на специальных файлах Registry.pol. Данные файлы хранят параметры реестра, которые соответствуют тем или иным настройкам GPO. Пользовательские и компьютерные настройки политик хранятся в разных файлах Registry.pol.
- Настройки конфигурации компьютера (раздел Computer Configuration) хранятся в %SystemRoot%\System32\GroupPolicy\Machine\registry.pol
- Пользовательские политики (раздел User Configuration) — %SystemRoot%\System32\GroupPolicy\User\registry.pol
При загрузке компьютера Windows загружает содержимое файла \Machine\Registry.pol в ветку системного реестра HKEY_LOCAL_MACHINE (HKLM). Содержимое файла \User\Registry.pol импортируется в ветку HKEY_CURRENT_USER (HKCU) при входе пользователя в систему.
Когда вы открываете консоль редактора GPO, она загружает содержимое registry.pol файлов и предоставляет их в удобном графическом виде. При закрытии редактора GPO внесенные изменения сохраняются в файлы Registry.pol. После обновления групповых политик (командой gpupdate /force или по-расписанию), новые настройки попадают в реестр и применяются к компьютеру.
Совет. Для внесения изменения в файлы стоит использовать только редактор групповых политик GPO. Не рекомендуется редактировать файлы Registry.pol вручную или с помощью старых версий редактора групповой политики!
Чтобы удалить все текущие настройки локальной групповой политики, нужно удалить файлы Registry.pol в каталоге GroupPolicy.
Сброс настроек локальной GPO из командной строки
Для принудительного сброса всех текущих настроек групповых политик в Windows вам нужно удалить файлы Registry.pol. Допустимо целиком удалить каталоги с файлами настройки политик. Сделать это можно следующими командами, запущенными в командной строке с правами администратора:
RMDIR /S /Q "%WinDir%\System32\GroupPolicyUsers"
RMDIR /S /Q "%WinDir%\System32\GroupPolicy"
В Windows 10 2004 команда rd.exe была удалена из образа, поэтому для удаления каталогов нужно использовать команду rmdir.exe .
После этого нужно сбросить старые настройки политик в реестре, применив GPO с чистыми настройками:
Данные команды сбросят все настройки локальной GPO в секциях Computer Configuration и User Configuration.
Откройте консоль редактора gpedit.msc и убедитесь, что все политики перешли в состояние “Не задано”/”Not configured”. После запуска консоли gpedit.msc удаленные папки GroupPolicyUsers и GroupPolicy будут пересозданы автоматически с пустыми файлами Registry.pol.
Сброс локальных политик безопасности Windows
Локальные политик безопасности (local security policies) настраиваются с помощью отдельной консоли управления secpol.msc . Если проблемы с компьютером вызваны “закручиванием гаек” в локальных политиках безопасности, и, если у вас остался доступ к системе и административные права, сначала стоит попробовать сбросить настройки локальных политик безопасности Windows к значениям по-умолчанию. Для этого в командной строке с правами администратора выполните:
- Для Windows 10, Windows 8.1/8 и Windows 7: secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
- Для Windows XP: secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose
Как сбросить настройки локальных GPO, если невозможно войти в Windows?
Если локальный вход в Windows невозможен или не удается запустить командную строку (например, при блокировке ее и других программ с помощью Applocker), вы можете удалить файлы Registry.pol, загрузившись с установочного диска Windows (загрузочной USB флешки) или любого LiveCD.
- Загрузитес компьютер с любого установочного диска/флешки с Windows и запустите командную строку ( Shift+F10 ).
- Выполните команду:
- Затем выведите список подключенных к компьютеру дисков:
Сброс примененных настроек доменных GPO
Несколько слов о доменных групповых политиках. Если компьютер включен в домен Active Directory, некоторые его настройки задаются доменными GPO.
Совет. Если вам нужно совсем заблокировать применение доменных политик на конкретном компьютере, рекомендуем статью Отключаем применение доменных GPO в Windows.
Этим файлам registry.pol соответствуют следующие ветки реестра:
- HKLM\Software\Policies\Microsoft
- HKCU\Software\Policies\Microsoft
- HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects
- HKCU\Software\Microsoft\Windows\CurrentVersion\Policies
История примененных версий доменных политик, которые сохранились на клиенте, находится в ветках:
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\History\
- HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy\History\
Локальный кэш примененных доменных GPO хранится в каталоге C:\ProgramData\Microsoft\Group Policy\History. Удалите файлы в этом каталоге командой:
DEL /S /F /Q “%PROGRAMDATA%\Microsoft\Group Policy\History\*.*”
Затем выполните команду:
gpupdate /force /boot
Совет. Рассмотренные выше методики позволяют сбросить все настройки групповых политик во всех версиях Windows. Сбрасываются все настройки, внесенные с помощью редактора групповой политики, однако не сбрасываются все изменения, внесенные в реестре напрямую через regedit.exe, REG- файлы, через доменные GPP или любым другим способом.
Предыдущая статья Следующая статья
Папки на флешке стали ярлыками
Восстановление EFI загрузчика в Windows 10
RDS Shadow – теневое подключение к RDP сеансам пользователей в Windows Server 2016/2019
Загрузка Windows 7/10 с GPT диска на BIOS системе (без UEFI)
Вот такое БОЛЬШОЕ спасибо за предоставленные варианты.
С моими экспериментами все мои .bat файлы перестали запускаться, данная статья помогла восстановить работоспособность «батников», огромное спасибо!
Пожалуйста! Хорошо, что помогло, хотя по идее проблема могла быть связана просто с нарушением ассоциаций bat файлов…
Спасибищще, чувак. )) Словил вирусню с xxxсайтов, а они мне права перепутали так, что уж думал, систему переставлять придется. Еще раз огромное!!)
На Server 2012r2 хочу сбросить одну локальную политику до дефолтного состояния, значение пустое оставить нельзя, но и НОЛЬ ставить глупо, как вернуть в состояние «неопределено»? Всё сбрасывать не вариант))
Хорошо бы ещё указать в каких версиях Ос Windows (начиная с Vista) имеется Локальная групповая политика, а в каких нет. Спасибо!
Если бы была кнопка лайк, поставил бы лайк, а так просто спасибо за статью! Очень помогло 🙂
Подскажите, какой командой из консоли можно сбросить только политики учетных записей — политики паролей…
чтоб как здесь
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
не все локальные политики сбрасывать ?
Отдельно сбросить только политики паролей одной командой не получится: как вариант — можно установить значения реестра, отвечающие за парольную политику на дефолтные значения
День добрый! При изменение любого параметра в gpedit.msc вылазит ошибка:
Ошибка:
В результате вызова компонента COM возвращена ошибка в формате HRESULT E_FAIL
************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.
Не знаете в чем может быть дело? Поможет ли жесткий сброс политик в этом вопросе?
28.03.2019
itpro
PowerShell, Windows 10, Windows Server 2012 R2, Групповые политики
комментариев 28
На рабочих станциях и серверах Windows, особенно на терминальных серверах RDS (Remote Desktop Services), периодически возникает необходимость очистки каталога C:\Users от старых профилей пользователей (уволенные пользователи, пользователи, которые долго не используют сервер и т.д.).
Основная проблема терминальных серверов – постоянный рост размеров каталогов профилей пользователей на диске. Частично эта проблема решается политиками квотирования размера профиля пользователя с помощью FSRM или NTFS квот, перемещаемыми папками и т.д. Но при большом количестве пользователей терминального сервера в папке C:\Users со временем накапливается огромное количество каталогов с ненужными профилями пользователей.
Ручное удаление профиля пользователя в Windows
Многие начинающиеся администраторы пытаются вручную удалить каталог с профилем пользователя из папки C:\Users. Так можно делать, если вы после удаления папки вручную удалите раздел профиля пользователя со ссылкой на каталог в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\ProfileList. Правильный ручной способ удаления профиля пользователя в Windows – открыть свойства системы, перейти в Advanced System Settings -> User Profiles -> Settings, выбрать в списке пользователя (в столбце Size указан размер профиля пользователя) и нажать кнопку Удалить.
Но это ручной способ, а хочется автоматизации.
Групповая политика автоматического удаления старых профилей
В Windows есть встроенная групповая политика для автоматического удаления старых профилей пользователей старше xx дней. Эта политика находится в разделе Конфигурация компьютера -> Административные шаблоны -> Система -> Профили пользователей (Computer Configuration -> Administrative Templates -> System -> User Profiles) и называется “Удалять при перезагрузке системы профили пользователей по истечении указанного числа дней” (Delete user profiles older than a specified number days on system restart). Вы можете включить этот параметр в локальном редакторе политик (gpedit.msc) или с помощью доменных политик из консоли GPMC.msc.
Включите политику и укажите через сколько дней профиль пользователя считается неактивным и “Служба профилей пользователей Windows” можно автоматически удалить такой профиль при следующей перезагрузке. Обычно тут стоит указать не менее 45-90 дней.
При использовании этой политики нужно быть уверенным, что при выключении/перезагрузки сервера нет проблем с системным временем (время не сбивается), иначе могут быть удалены профили активных пользователей.
Основные проблемы такого способа автоматической очистки профилей – ожидание перезагрузки сервера и неизбирательность (вы не можете запретить удаление определенных профилей, например, локальных учетных записей, администраторов и т.д.). Также эта политика может не работать, если некоторое стороннее ПО (чаще всего это антивирус) обращается к файлу NTUSER.DAT в профилях пользователей и обновляет дату последнего использования.
Очистка сервера от старых профилей пользователей с помощью PowerShell
Вместо использования рассмотренной выше политики автоматической очистки профилей, вы можете использовать простой PowerShell скрипт для поиска и удаления профилей неактивных или заблокированных пользователей.
Сначала попробуем подсчитать размер профиля каждого пользователя в папке C:\Users c помощью простого скрипта из статьи “Вывести размер папок с помощью PowerShell”:
gci -force 'C:\Users'-ErrorAction SilentlyContinue | ? < $_ -is [io.directoryinfo] >| % $len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % < $len += $_.length >
$_.fullname, ' GB' -f ($len / 1Gb)
$sum = $sum + $len
>
“Общий размер профилей”,' GB' -f ($sum / 1Gb)
Итого суммарный размер всех профилей пользователей в каталоге C:\Users около 22 Гб.
Теперь выведем список пользователей, профиль которых не использовался более 60 дней. Для поиска можно использовать значение поля профиля LastUseTime.
У меня на терминальном сервере оказалось 143 профиля неактивных пользователей (общим размером около 10 Гб).
Чтобы не удалять профили некоторых пользователей, например, специальные аккаунты System и Network Service, учетную запись локального администратора, пользователей с активными сессиями, список аккаунтов-исключений), нужно модифицировать скрипт следующим образом:
Вы можете настроить запуск этого скрипта через shutdown скрипт групповой политики или по расписанию заданием планировщика. (перед настройкой автоматического удаления профилей внимательно протестируйте скрипт в своей среде!).
Можно модифицировать скрипт, чтобы автоматически удалять пользователи всех пользователей, которые добавлены в определенную группу AD (например, группа DisabledUsers):
$users = Get-ADGroupMember -Identity DisabledUsers | Foreach
$profiles = Get-WmiObject Win32_UserProfile
$profiles | Where | Foreach
Подскажите как удалять файлы с рабочего стола пользователей?
Написал батник, но когда создаю в групповую политику и грубо говоря заливаю данный батник, то при выключение компьютера он не срабатывает, а когда запускаю отдельно скрипт, то он уделяет.
В GPO уже есть целая ветка управления рабочим столом, в том числе и его блокировка.
В какую ветку GPO вы указали батник? Возможно у пользователя нет прав его прочитать.
(hint!) А если вместо удаления запретить пользователям писать в папку Desktop?
Создал в лесу группу добавил пользователей, и применял к компьютеру и к конфигураций пользователей. может сценарий нужно создать. Что при выключений компьютера, запускать данный батник?
Вот сам батник:
@Echo off
shutdown -a
Echo "Внимание! Сейчас будет произведена очистка компьютера."
timeout 5 /NOBREAK
echo Поиск файлов и папок.
2>nul (for /f "eol=: tokens=*" %%i in ('WHERE /F /R C:\Users\%username%\Desktop\ *.doc, *.xls, *.pdf, *.tiff, *.jpg, *.xml., *.cvs, *.git, *.rtf, *.bmp, *.jpg, *.rar, *.zip, *.xmind') do del %%i)
echo Удаляем временные файлы системы.
del C:\Users\%username%\AppData\Local\Temp\* /S /Q
del C:\Users\%username%\Downloads\* /S /Q
del C:\Windows\Prefetch. /Q
del C:\Windows\Temp. /Q
del C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Recent\* /S /Q
del /F /S /Q "C:\Users\%Username%\AppData\Local\Microsoft\Windows\Temporary Internet Files\*"
shutdown -s -f -t 0
exit /b
shutdown -s -f -t 0 — моментальное форсированное выключение. И вы хотите, что бы что-то удалилось, но времени на это не оставили.
В очередной статье из цикла «конспект админа» мне хотелось бы освежить в памяти несколько нюансов использования групповых политик. Заодно поразвлекаемся с созданием своих шаблонов и с автоматизацией работы с этими самыми политиками.
Я не буду рассказывать, что такое групповые политики, и остановлюсь лишь на основных моментах, которые стоит иметь в виду при работе с ними.
В системах Windows помимо доменных существуют и локальные групповые политики ― управлять ими можно при помощи оснастки gpedit.msc на системах редакции Professional и выше. Часто считается, что без домена можно настраивать локальные групповые политики только для всех пользователей на компьютере. Это не совсем верно ― с выходом Windows Vista появилась возможность использовать множественную локальную групповую политику или MLGPO. Этот механизм позволяет настраивать отдельные политики для разных пользователей.
Добраться до него можно через вызов консоли mmc: при добавлении оснастки «Управление объектами групповой политики» нажать кнопку «Обзор». Далее на вкладке «Пользователи» уже можно выбрать конкретного пользователя или группу «Администраторы» и «Не администраторы». К сожалению, управление для группы пользователей не реализовано.
Управление групповой политикой для отдельных пользователей.
Бывало и так, что на отдельностоящем терминальном сервере разворачивали Active Directory только для того, чтобы отдельному пользователю настроить поведение драйвера для EasyPrint. Не надо так.
При добавлении доменных групповых политик стоит помнить про порядок их применения ― политика, примененная последней, будет обладать наивысшим приоритетом (да и на собеседованиях часто спрашивают).
Итак, предположим, что у нас есть компьютер в домене и четыре групповые политики: локальная на этом компьютере; политика на подразделение, в котором находится компьютер; политика на домен и политика на лес. Порядок их применения будет следующим:
- Локальная групповая политика.
- Групповая политика сайта.
- Групповая политика домена.
- Групповая политика верхнего подразделения.
- Групповая политика дочернего подразделения.
То есть чем ближе к объекту, тем приоритетнее, за исключением локальной групповой политики. Если надо отключить применение вышестоящих политик, то ставьте блокировку наследования.
Блокировка наследования.
Любую групповую политику можно условно разделить на две конфигурации ― пользователя и компьютера. Обычно политики с настройками компьютеров назначаются на подразделение, в котором находятся компьютеры. А политики с настройками пользователей ― на пользователей.
Если надо применить настройки компьютера к подразделению с пользователями и наоборот, используют так называемое замыкание групповой политики. Например, такая настройка пригодится, когда нужно применить специфические политики к пользователям для работы на терминальных серверах.
Работа замыкания настраивается непосредственно в политике ― «Настройка компьютера ― Административные шаблоны ― Система ― Режим обработки замыкания пользовательской групповой политики». Подробнее про механизм уже писали в статье про использование Merge\Replace в GPO. Я лишь добавлю, что режим замыкания групповой политики ― тоже частый вопрос на собеседовании.
Настройка замыкания групповой политики.
Физически доменные групповые политики находятся в папке SYSVOL на контроллерах домена. Папка реплицируется между контроллерами. Каждая групповая политика выглядит как папка с именем в виде GUID.
Групповые политики домена.
Правила фильтрации, настраиваемые через редактор групповой политики, соответствуют настройкам прав NTFS на соответствующую подпапку.
Говоря о правилах фильтрации, нельзя не упомянуть обновление MS16-072, которое «сломало» групповые политики. Теперь для того чтобы работали правила фильтрации, надо добавлять к каждому фильтру правило «на чтение», но не «на применение» группе Domain Computers.
В каждой папке с групповой политикой существуют подпапки Machine и User, соответствующие настройкам пользователя и компьютера. Если углубиться в подпапки, можно легко понять структуру групповой политики:
- В корне папки находится файл GPT.ini с настройками групповой политики, такими как ее название.
- В подпапках Machine и User сидят файлы registry.pol с настройками соответствующих веток реестра.
- По пути Microsoft\Windows NT\SecEdit можно найти шаблон настроек безопасности ― GptTmpl.inf.
- В подпапке Preferences находятся предпочтения групповых политик, представляющие из себя подпапки с файлами xml.
- В подпапке Applications сидят дистрибутивы для развертывания через групповые политики.
- В папке Scripts находятся скрипты на logon\logoff для пользователя и startup\shutdown для компьютера.
- В папке Documents and Settings есть настройки перенаправления пользовательских папок.
- Наконец, в папке Adm находятся устаревшие шаблоны групповой политики.
Подробнее про структуру можно почитать в материале Group Policy Basics, поэтому перейдем сразу к шаблонам.
По сути своей административные шаблоны ― это специальные файлы с инструкциями по изменению клиентского реестра (ветки HKCU или HKLM) и настройками отображения изменяемых параметров через «Управление групповой политикой». В принципе, реестр можно менять и через «Предпочтения групповых политик». Но разница здесь не только в красивом интерфейсе.
Способ изменения реестра | Как ведет себя при удалении политики со стандартными настройками | Можно ли изменить параметр вручную | Можно ли изменить параметр через приложение |
Шаблоны | Параметр реестра восстанавливается на значение «по умолчанию», если настройки по умолчанию есть в шаблоне | - | - |
Предпочтения политик | Параметр реестра не изменяется | + | + |
Сравнение предпочтения групповых политик и административных шаблонов.
Другими словами, настройка реестра через шаблоны групповых политик более строгая. Тогда как настройка через предпочтения групповых политик напоминает периодическое применение reg-файла. Конечно, предпочтения позволяют не только менять параметры реестра, но и довольно гибко настраиваются. Тем и ценны.
Это актуально при изменении ветки Policies, и настраиваемое приложение должно хранить свои настройки в реестре. Простое изменение параметров через Предпочтения и Шаблоны будет работать схожим образом, только шаблоны могут оказаться удобнее.
До появления Windows Vista\2008 в качестве шаблона групповых политик брали исключительно стандарт .adm. Будучи с простой структурой, которую было легко редактировать вручную, этот стандарт обладал и рядом недостатков:
- Для каждого языка приходилось создавать отдельный файл шаблона.
- Файл шаблона физически находился в папке с групповой политикой. При использовании одного и того же шаблона он сохранялся в каждую папку, что увеличивало занимаемое место и время репликации.
- Не поддерживались мультистроковые параметры и параметры QWORD.
На замену устаревшему стандарту появился новый. Новые шаблоны представляют собой два файла: сам шаблон, не зависимый от языка ― .admx и языковой «пакет» к нему ― файл .adml. Теперь шаблоны можно «положить» в центральное хранилище, и обращаться к нему, не плодя одинаковые файлы в папке SYSVOL.
Не обошлось без ложки дегтя ― теперь содержимое файла представляет собой популярный в индустрии формат XML. И создавать новые шаблоны в блокноте стало уже не так удобно.
Под большинство параметров, которые могут понадобиться, шаблоны уже существуют. Кроме того, многие производители приложений выпускают свои административные шаблоны. Вот несколько примеров:
Если возникает необходимость разработать и внедрить свой административный шаблон, то самый простой вариант ― это создать старый файл .adm и сконвертировать его в admx специальной утилитой. Вариант посложнее ― начинать сразу с .admx.
Для начала разберем простой пример. Создадим шаблон групповой политики, который позволит нам включать и выключать отображение скрытых и системных файлов, а заодно и отображение расширений.
Сразу скажу, что это можно провернуть через «Предпочтения групповых политик» ― в параметрах панели управления ― опции папки. Но мы легких путей не ищем и заодно не хотим, чтобы параметры отображения можно было менять вручную.
За необходимые нам параметры отвечают три ключа в реестре:
- Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden.
- Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt.
- Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden.
Разберем подробнее синтаксис файла.
- CLASS. Может принимать значение USER или MACHINE ― в зависимости от класса будет изменятся ветка реестра HKCU или HKLM соответственно.
- CATEGORY. Строка, в которой задается имя «папки» политики.
- POLICY. В строке задается название конкретной политики ― у нас таких будет три.
- KEYNAME. Путь в реестре к изменяемым параметрам.
- EXPLAIN. Отсылка к «переменной» с объяснением настройки.
- VALUENAME. Название изменяемого параметра в реестре.
- VALUEON**VALUEOFF**. Значение, которое будет принимать параметр при включении и выключении его в политике.
- [strings]. Секция со значениями переменных, которые я использовал для текстовых строк. Можно их не использовать, но тогда могут быть проблемы из-за русского языка.
Помимо задействованных опций есть и другие, например:
- EDITTEXT. Текстовое поле для ввода.
- NUMERIC. Поле для ввода цифр.
- CHECKBOX. Список, где можно отмечать параметры «галочками».
- COMBOBOX. Список с «переключателем»
- DROPDOWNLIST. Выпадающий список.
- LISTBOX. Список для ввода нескольких элементов.
Подробнее со всеми параметрами можно ознакомится в разделе MSDN ADM Format.
Установить новый шаблон не просто, а очень просто ― достаточно щелкнуть правой кнопкой мыши по пункту «Административные шаблоны», выбрать «Добавление и удаление шаблонов» и добавить наш свежесозданный шаблон.
Добавленный шаблон.
После установки шаблона он отобразится в ветке «Классические административные шаблоны».
Теперь можно сконвертировать наш шаблон в .admx с помощью утилиты faAdmxConv из ADMX Migrator.
Конвертируем шаблон.
После конвертации получившийся шаблон .admx и папку Ru-ru с файлом локализации .adml нужно скопировать в папку %Systemroot%\PolicyDefinitions для локальной политики или в папку Sysvol\PolicyDefinitions на контроллере домена.
Установленный шаблон .admx.
Действительно, xml в новом формате читается чуть хуже, чем старый .adm. Для облегчения работы с новым форматом в поставке ADMX Migrator есть утилита faAdmxEditor.msc. Помимо этой утилиты есть и скрипты для конвертации reg-файлов в шаблоны, и сторонние платные утилиты.
Конечно же, можно обойтись без вот-этого-всего и разобраться самостоятельно ― оставлю это в качестве домашнего задания. Благо на портале MSDN есть подробное описание XML-схемы, и есть неплохие материалы с примерами в сети. Например, «Административные шаблоны групповой политики».
Теперь перейдем к автоматизации.
Работать с групповыми политиками из командной строки довольно тоскливо. Основных инструментов можно выделить три.
PowerShell. Есть набор командлетов для резервного копирования, восстановления и управления групповыми политиками. Создание новых политик ограничено ― можно лишь изменять реестр. Впрочем, в большинстве случаев и этого достаточно. В качестве примера создадим групповую политику, которая отключит автоматическое обновление Adobe Reader DC.
За отключение автоматического обновления отвечает ключ реестра bUpdater в ветке [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Adobe\Acrobat Reader\DC\FeatureLockDown]. Установив параметр в 0, мы отключим опцию.
Создание групповой политики на PowerShell будет выглядеть так:
Свежесозданная групповая политика.
Полный список и описание командлетов доступны в материале Technet Group Policy Cmdlets in Windows PowerShell.
Интерфейс COM к GPMC (консоли управления групповой политикой). Способ позволяет сделать с политиками многое, на любом языке программирования, поддерживающим COM-интерфейсы. К сожалению, популярность он не приобрел и примеров в сети довольно мало, несмотря на богатое описание методов интерфейса на портале MSDN. Немногочисленные примеры использования доступны для загрузки в галерее Technet.
Сделаем бэкап локальной групповой политики командой
В папке C:\Temp появится подпапка с GUID по структуре схожая с доменными групповыми политиками:
Теперь развернем registry.pol в текстовый файл:
Синтаксис текстового файла очевиден. Добавим в него значения реестра для отключения автоматического обновления «Акробата»:
Добавленный в файл параметр реестра.
Теперь останется завернуть наш reg.txt обратно в registry.pol и импортировать изменившийся файл обратно в локальную групповую политику:
Все эти махинации, конечно же, можно завернуть в один скрипт и использовать для массового изменения локальной групповой политики привычным инструментом для запуска команд на удаленных компьютерах. Подробнее про методы запуска команд можно почитать в нашей статье «1000++ способ запуска команд на удаленном компьютере».
Конечно же, зная структуру доменной групповой политики, ничто не мешает сделать удобный именно вам инструмент для создания и управления политиками. Поделитесь в комментариях, есть ли у вас свои способы настройки реестров пользовательских машин?
Читайте также: