Файлы ADM. Иногда они вызывают любовь, иногда ненависть. А иногда и то, и другое. А все из-за того, что применять ADM сложно, но без них никуда. Теперь появились еще и файлы ADMX — это новый формат, который, на первый взгляд, только запутывает дело. Похоже, пришло время пролить свет на эту туманную область.
Зачем нужны файлы ADM?
Групповая политика охватывает ряд различных объектов. Если вы загляните в редактор объектов групповой политики, вы найдете в нем множество штуковин — это то, что умеет групповая политика. Например, в нем есть политика программных ограничений, групповая политика установки программ, перенаправление папок и, кстати, административные шаблоны — их мы используем чаще всего. Узел административных шаблонов существует и в части пользователей, и в части компьютера. Как вы, наверное, догадались, параметры политик, указанные на стороне пользователя, относятся к пользователям, а на стороне компьютера — к компьютеру.
Откуда берутся все эти чудные параметры административных шаблонов? В момент создания нового поколения существует несколько параметров, которыми теоретически можно управлять. Вот тут на сцену и выходят файлы ADM. Они описывают те области приложения, которые могут использовать параметры, задаваемые администратором. К сожалению, файлы ADM ограничиваются лишь параметрами реестра для конкретного приложения, а приложение может сохранять параметры не только в реестре: в файлах INI, JS, XML, в базах данных.
Готовые файлы ADM
Откуда вообще берутся готовые политики для административных шаблонов в конфигурации компьютера и конфигурации пользователей? Если щелкнуть правой кнопкой мыши сслыку «Административные шаблоны» в редакторе объектов и выбрать пункт «Добавление и удаление шаблонов» либо на стороне компьютера, либо на стороне пользователя, вы увидите стандартные шаблоны, на основе которых создается стандартная конфигурация (как показано на рис. 1).
Рис. 1 Административные шаблоны по умолчанию
Схема файлов следующая:
- Conf.adm — параметры NetMeeting®.
- Inetres.adm — параметры Internet Explorer®, в том числе подключения, панели инструментов и параметры панелей. Это те же настройки, к которым можно получить доступ через пункт меню «Свойства обозревателя» в Internet Explorer.
- System.adm — изменения и параметры операционной системы. Большая часть параметров административных шаблонов компьютера и пользователей содержится в этом шаблоне ADM.
- Wmplayer.adm — параметры проигрывателя Windows Media® 9.
- Wuau.adm — управление доступом клиентов к серверам служб обновления Windows® и Windows Server®.
Добавление нового файла шаблона ADM
Преодоление ограничений при помощи средств Майкрософт и сторонних разработчиков
Файлы ADM и ADMX невероятно полезны. С их помощью вы можете упаковать ту или иную информацию в файл определения и контролировать целевые приложения. Но и для файлов ADM и ADMX существуют ограничения, связанные со следующими действиями:
- Они могут обращаться только к кустам реестра, расположенным в разделах HKEY_LOCAL_MACHINE и HKEY_Current_User. Если вам что-то нужно от других кустов реестра, файлы ADM и ADMX вам не помогут.
- Они не могут ничего добавлять в значения раздела REG_Binary.
- Их нельзя настроить так, чтобы они применялись лишь однажды.
- Их нельзя настроить так, чтобы они всегда применялись повторно при обновлении групповой политики.
- Если файлы ADM и ADMX что-то записывают в недопустимые разделы, эти изменения остаются в реестре навсегда. То есть, даже если пользователь выдет из области управления или объект групповой политики будет удален, значение все равно сохранится.
Указанные ограничения можно преодолеть. У Майкрософт и у некоторых других разработчиков существуют решения, призванные помочь вам в этом. Корпорация Майкрософт недавно приобрела DesktopStandard и выпустила новую версию расширения DesktopStandard Registry Extension — уже под новой маркой. Это средство при помощи мастера для редактора объектов позволит вам указать, какими именно значениями реестра вы намерены управлять на данной конкретной машине.
Технологии DesktopStandard PolicyMaker (к которым относится и средство Registry Extension) теперь существуют под названием Group Policy Preferences (предпочтения групповых политик). Они включены в систему Windows Server 2008. Предпочтения групповых политик позволяют администратору настраивать приложения и компоненты Windows, которые обычно с помощью групповой политики не настраиваются, а также применять их к группам пользователей или компьютеров на основании разнообразнейших правил выбора целевых объектов. Новое средство полностью интегрировано в консоль управления групповыми политиками и в модуль расширенного управления групповыми политиками в Windows Server 2008.
Подробнее узнать о предпочтениях групповых политик вы можете в статье Дерека Мелбера (Derek Melber) «Погружение в управление групповыми политиками», опубликованной в этом выпуске журнала TechNet Magazine.
Делается это совершенно просто. Нужно взять шаблон ADM, который вы хотите использовать. Млжно загрузить один из шаблонов, размещенных на веб-узле GPanswers.com (там немало интересных примеров), или ADM-файл для Office 2003 или Office 2007 на веб-узле Майкрософт.
Щелкните правой кнопкой мыши ссылку «Административные шаблоны» и выберите пункт «Добавить», как показано на рис. 1. По умолчанию Windows ищет шаблоны в каталоге \Windows\inf, но это не означает, что в другом месте их хранить нельзя. Учтите следующий момент: как только шаблон ADM будет добавлен из исходного хранилища, он добавляется в сам объект групповой политики.
Например, когда я писал эту статью, я зашел на веб-узел GPanswers.com и загрузил файл nopassport.adm. Я сохранил его в папке c:\temp. Этот шаблон ADM позволяет убрать вопрос о добавлении паспорта, который появляется при первом входе пользователя в Windows XP.
Еще я загрузил шаблоны ADM для Office 2003 и сохранил их там же, в папке c:\temp. Но я их там не оставил. На рис. 2 показано, что я добавил шаблоны nopassport.adm и Word11.adm. Они появились в списке стандартных шаблонов в окне «Добавление и удаление шаблонов».
Figure 2 Additional ADM files in the GPO
Теперь взгляните на файлы, относящиеся к самому объекту групповой политики (они лежат в папке \\domaincontroller\SYSVOL\domainname\Policies\GUID\ADM). Как вы вилите, теперь шаблоны nopassport.adm и Word11.adm являются частью объекта групповой политики (см. рис. 2).
Зачем шаблоны добавляются в объект групповой политики? Делается это для того, чтобы параметры, содержащиеся в этих файлах, были видны, если вы решите изменить объект групповой политики в другой системе управления.
Почему загруженные файлы не видны?
Иногда добавленные файлы ADM видны, иногда нет. Такое поведение нередко приводит администраторов в растерянность. На веб-узле GPanswers.com этот вопрос задают очень часто, так что давайте прямо сейчас все и проясним.
По крайней мере, результаты добавления двух файлов, которые мы рассматривали выше, вы должны видеть (см. рис. 3). Появляются два новых узла: узел Nuisances в конфигурации компьютера (его добавляет файл nopassport.adm) и узел Microsoft Office Word 2003 в конфигурации пользователя (его добавляет файл Word11.adm). Если как следует покопаться в параметрах Microsoft® Word 2003, вы обнаружите довольно большое число настраиваемых величин — они показаны на рис. 3.
Рис. 3 Настраиваемые параметры групповой политики
Так почему же их нет в узле Nuisances? Чтобы это понять, нужно сначала разобраться, что такое «допустимые» и «недопустимые» разделы политики с точки зрения шаблонов ADM.
Допустимые и недопустимые разделы политики
Согласно документации Майкрософт, существуют четыре утвержденных области реестра, в которых можно создавать политики на основании взломов реестра:
- HKLM\Software\Policies (параметры компьютера, предпочтительный раздел);
- HKLM\Software\Microsoft\Windows\CurrentVersion\Policies (параметры компьютера, альтернативный раздел);
- HKCU\Software\Policies (параметры пользователя, предпочтительный раздел);
- HKCU\Software\Microsoft\Windows\CurrentVersion\Policies (параметры пользователя, альтернативный раздел).
Параметры, содержащиеся в файле ADM для Word 2003, записываются как раз в эти разделы, а вот параметры из файла nopassport.adm — нет. Они записываются в раздел HKLM\Software\Microsoft\MessengerService\PassportBalloon.
Редактор объектов групповой политики предпочитает перестраховаться и не сразу делает эти параметры видимыми, поскольку они записаны в недопустимый раздел политики, а вносимые изменения останутся в реестре навсегда. Даже если вы угрохаете объект групповой политики, отменить изменения не получится. Возьмем, к примеру, такую ситуацию. Вы добавили файл nopassport.adm и решили, что вопрос о добавлении паспорта не должен задаваться ни на одном компьютере в вашем домене. А потом ваш начальник ненароком заметил, что именно этот вопрос его особенно радовал. Вот тут-то вам придется повозиться, прежде чем вы вернете эту настройку к прежнему виду, потому что вы отменили подсказку на всех компьютерах — и в общем случае это делается навсегда. Конечно, можно создать новый файл ADM, который вернет подсказку обратно, но на это тоже уйдет немало сил.
Обычные же параметры политики, напротив, имеют значения, используемые по умолчанию. Если уничтожить объект групповой политики, для таких параметров будут восстановлены стандартные значения. Например, если вы запретите доступ к панели управления при помощи встроенных шаблонов ADM, а потом передумаете, вам нужно будет просто удалить соответствующий объект групповой политики — и панель управления вернется. Это относится практически ко всем параметрам, содержащимся в стандартных шаблонах ADM (за редким исключением).
Еще раз напомню, что в случае с вопросом о паспорте групповой политике не удавалось восстановить прежнюю конфигурацию после удаления объекта, потому что параметры из файла ADM были сохранены в недопустимом разделе. Майкрософт позаботился о том, чтобы вы не подпилили сук, на котором сидите, — не рванули использовать подобные параметры, изменяющие реестр навсегда.
Просмотр шаблонов ADM
Итак, увидеть шаблон совсем не сложно. По умолчанию редактор не показывает параметры, но это можно исправить. Щелкните ссылку «Административные шаблоны» (либо в части компьютера, либо в части пользователей) и выберите «Вид» > «Фильтрация». Наконец, снимите (все верно, снимите) флажок «Показывать только управляемые парметры политики» (см. рис. 4). Когда вы это сделаете, в столбце «Парметр» появится строчка Passport Solicitation (запрос паспорта) — она тоже есть на рис. 4.
Рис. 4 Фильтрация GPO
Работа с редактором в Windows XP и в Windows Vista
Вы заметили небольшое отличие только что появившегося параметра политики? Взгляните на значки параметров, содержащихся в стандартных файлах ADM, показанные на рис. 5. А теперь на значок параметра шаблона ADM, вносящего изменения в недопустимый раздел политики в реестре на рис. 6.
Рис. 5 ADM-файлы со значками
Рис. 6 Значки для недопустимого использования реестра
По синим и красным значкам можно отличить параметр, вносящий обратимые изменения, от параметра, вносящего изменения в реестр навсегда. Но это, опять же, зависит от того, куда записывается параметр.
В Windows Vista®, надо сказать, ситуация несколько меняется, если использовать файлы ADM в управляющей станции Windows Vista. В таком случае файлы ADM добавляются в отдельный узел под названием «Классические административные шаблоны (ADM)», как показано на рис. 7. Параметры, которые раньше отмечались красной точкой, теперь обозначаются свитком со стрелкой вниз (а во время редактирования самого параметра у него стоит маленький значок «Вход воспрещен»).
Рис. 7 Узел классических административных шаблонов
Параметры, которые раньше отмечались синей точкой (то есть те, которые записывались в допустимые разделы политики) обозначаются просто маленьким свитком, как показано на рис. 8.
Рис. 8 Значки промотки с действительными реестрами
А что за шумиха вокруг ADMX?
И Windows Vista, и Windows Server 2003 включают встроенную консоль управления групповами политиками. А она, в свою очередь, включает в себя новую возможность — возможность избавиться от старых файлов ADM и перейти на файлы ADMX, если вам так удобнее. Зачем это нужно?
Давайте вспомним, что файл ADM помещается в шаблон групповой политики, который является частью объекта групповой политики (эта часть хранится в SYSVOL). Когда это происходит, вы теряете примерно 4 МБ на каждом контроллере домена при каждом создании объекта групповой политики. Также вспомним, что файл ADM размещается в шаблон групповой политики, потому что это необходимо на случай попытки отредактировать объект политики на другой управляющей станции. Если файла ADM в нем не будет, вы не сможете изменить параметры, содержащиеся в ADM.
Формат ADMX позволяет избежать всех этих неприятностей. В объекты групповой политики напрямую ничего не записывается, поэтому проблема «раздутого SYSVOL», которому приходится хранить в себе объекты групповой политики, кучу файлов ADM, да еще и выполнять репликацию на все контроллеры домена, отпадает сама собой. Для этого стандарт ADMX использует преимущества так называемого центрального хранилища. Задача его состоит в том, чтобы предоставить единое место хранения новых файлов ADMX — тогда их не придется копировать в каждый объект групповой политики. Прощай, раздутый SYSVOL. Пока-пока! Еще один плюс центрального состоит в том, что если в одном из файлов ADMX обновляется определение, все управляющие станции Windows Vista незамедлительно начинают использовать обновленный ADMX.
Если вам хочется побольше узнать о файлах ADMX, и в частности о создании и использовании центрального хранилища, могу предложить вам два источника. Во-первых, это подробная статья Даррена Мар-Элиа (Darren Mar-Elia) в февральском выпуске журнала Technet Magazine за 2007 г. (technetmagazine.com/issues/2007/02/Templates), в которой он рассматривает формат ADMX и дает краткое разъяснение по поводу центрального хранилища. Во-вторых, можно загрузить целую главу из моей будущей книги под названием «Групповая политика: управление, устранение неполадок и безопасность». Она есть в разделе Book Resources (книги) на веб-узле GPanswers.com.
Как я уже упоминал, шаблоны ADM по-прежнему поддерживаются управляющими станциями Windows Vista, но вот центральное хранилище использовать для них не получится. Это порой может сбить с толку, так что рассмотрим подробнее один пример.
Допустим, я создал объект групповой политики в управляющей станции Windows Vista, а затем настроил некоторые стандартные параметры (скажем, запретил доступ к панели управления). Затем я добавил свой собственный шаблон ADM. Теперь заглянем в шаблон объекта групповой политики и попробуем разобраться в том, что произошло.
Чтобы добавить шаблон ADM, вы можете повторить действия, которые я выполнял чуть ранее. Откройте редактор объектов групповой политики, щелкните правой кнопкой мыши ссылку «Административные шаблоны» для компьютера или пользователя и выберите пункт «Добавление и удаление шаблонов». Добавленный шаблон показан на рис. 9.
Рис. 9 Просмотр добавленного шаблона
Чтобы увидеть параметры, содержащиеся в нашем шаблоне ADM, нужно проделать то, что показано на рис. 4. То есть, щелкнуть «Просмотр» > «Фильтрация» и снять флажок «Показывать только управляемые парметры политики». После этого нужно закрыть редактор объектов и вернуться в консоль управления групповыми политиками. На рис. 10 показана вкладка свойств объекта, который я только что создал в управляющей станции Windows Vista. (Смотрите, какое удобное имя я ему придумал!) На вкладке всойств можно узнать идентификатор GUID для данного объекта групповой политики — это упростит его поиск в SYSVOL.
Рис. 10 Административные шаблоны по умолчанию
Найдя (по идентификатору GUID) шаблон групповой политики, соответствующий моему объекту, я могу вскрыть папку с файлами ADM для данного объекта групповой политики. Сделав это, я обнаруживаю, что в ней есть ровно один шаблон ADM — тот самый, который я импортировал вручную ( см. рис. 11). Причина этого в том, что машины под управлением Windows Vista не зависят от ADM. Поскольку они изначатьно не используют ADM, они ничего в объект групповой политики по умолчанию не добавляют. Впрочем, если импортировать ADM вручную (как мы и сделали), он будет применяться точно так же, как применялся в предыдущих версиях Windows.
Рис. 11 ADM-файл, испортированный вручную
Описанное выше поведение коренным образом отличается от, скажем, поведения объекта, показанного на рис. 12, который создавался в Windows XP или Windows Server 2003. Если объекты групповой политики создаются в управляющих станциях версий Windows, предшествующих Windows Vista, исходные файлы ADM добавляются в объекты групповой политики, как я описывал выше. Приведенный здесь объект создан в управляющей станции Windows XP. Это можно определить по обилию файлов ADM, которые Windows Vista не использует за ненадобностью.
Рис. 12 GPO, созданный в Windows XP
Преобразоывание ADM в ADMX с помощью средства ADMX Migrator
Итак, в Windows XP используются файлы ADM, а в Windows Vista — файлы ADMX (хотя ADM поддерживается — на случай, если ничего другого под руками нет). Однако мы не можем записывать файлы ADM в центральное хранилище: управляющие странции Windows Vista так их использовать не будут.
Чтобы иметь возможность применять параметры, содержащиеся в файлах ADM, лежащих в центральном хранилище, необходимо преобразовать файлы ADM в ADMX или создать их аналоги в формате AMDX. К счастью, существует программа, которая выполняет оба действия. Это средство ADMX Migrator (которое фактически состоит из двух частей, одна из которых преобразует ADM в ADMX, а вторая — создает ADMX). Его можно загрузить на веб-узле go.microsoft.com/fwlink/?LinkId=103774.
Средство ADMX Migrator устанавливается на Windows Server 2003, Windows XP и Windows Vista. Установленные приложения лежат в папке C:\Program Files\FullArmor\ADMX Migrator. Программа командной строки, которой я воспользуюсь, называется faAdmxConv.exe. Поскольку папка, в которой установлена программа, к числу стандартных путей не относится, нам придется переходить в нее, и только после этого мы сможем запустить приложение, поэтому, когда я его использую, я добавляю папку приложения в набор путей Windows. Как это сделать, описано в статье на странице www.computerhope.com/issues/ch000549.htm.
Обычно я создаю временный каталог, к примеру C:\ADMtemp, и копирую в него исходные файлы ADM. В программе faAdmxConv.exe есть множество параметров. Самый простой способ преобразовывать файл ADM — задать его имя и указать папку, в которой будет сохранен новый файл. Если вы уже сложили исходный файл ADM в папку ADMtemp и добавили faAdmxConv.exe в список путей, вы можете просто запустить команду faAdmxConv nopassport.adm . (точка в конце означает, что новый файл будет создан в том же каталоге). Если вы не поставите точку и не укажете каталог для нового файла явным образом, он будет создан во временной папке в профиле вашей учетной записи. На рис. 13 показаны три команды:
Рис. 13 Средство переноса ADMX
- команда dir — для просмотра файла ADM;
- команда faAdmxConv с именем файла ADM и с точкой, означающей текущий каталог;
- команда dir для просмотра файлов, полученные в результате преобразоывания: nopassport.admx и nopassport.adml.
Прежде чем копировать полученные файлы в центральное хранилище, попробуйте протестировать их на компьютере, отключенном от сети. Перейдите в автономный режим, скопируйте файл ADMX в папку C:\Windows\PolicyDefinitions, файл ADML — в каталог соответствующего языка. В США это будет папка C:\Windows\PolicyDefinitions\en-us. Пример процедуры копирования приведен на рис. 14.
Рис. 14 Копирование ADMX-файлов в центральное хранилище
Средство преобразования ADM в ADMX недавно обновили до версии 1.2. В ней было исправлено несколько ошибок, происходящих при преобразоывании, и добавлено несколько полезных предупредительных сообщений. Если когда-то вы пытались использовать средство преобразоывания, но из-за какой-то ошибки забросили это дело, обязательно испытайте версию 1.2.
Наконец, обратите внимание, что файл ADM фактически преобразовывается в два файла: файл ADMX (не зависящий от языка) и файл ADML (зависящий от языка системы). После этого вы можете либо отправить их в центральное хранилище, либо протестировать на локальной машине. Как бы там ни было, чтобы увидеть параметры, содержащиеся в шаблоне ADMX, вам все равно придется проделать то, что показано на рис. 4. То есть, выбрать пункт «Просмотр» > «Фильтрация» и снять флажок «Показывать только управляемые параметры политики». Это связано с тем, что параметры, содержащиеся в файле ADMX, записываются в недопустимый раздел политики.
Подведем итоги
В идеальном случае, конечно, нужно использовать только файлы ADMX и задействовать центральное хранилище. Однако для этого придется преобразовать все имеющиеся файлы ADM, перевести все управляющие станции на Windows Vista (или Windows Server 2008) и условиться не редактировать объекты групповой политики в предыдущих версиях Windows.
Если вы все это сделаете, вы практически избавитесь от файлов ADM. Пока что файлы ADM в объектах групповой политики лишь занимают лишнее место в SYSVOL на контроллерах доменов. Когда вы достигнете нирваны под названием ADMX, вы сможете просто удалить файлы ADM из шаблонов объектов групповой политики, лежащих в SYSVOL. Именно так. ADM — пережиток прошлого, червеобразный отросток. Когда-то он был полезен, но теперь он никакой роли не играет. Вы можете удалить их вручную, а можете написать сценарий. Но прежде чем вы это сделаете, обратите внимание: если перечисленные выше этапы не выполнения полностью, вы совершаете величайшую ошибку. Сначала убедитесь, что вы и впрямь можете распрощаться с ADM навсегда.
Дополнительные сведения о файлах ADM, ADMX и ADML см. в пошаговом руководстве по управлению файлами ADMX в групповой политике (go.microsoft.com/fwlink/?LinkId=105019) и в обзоре технологии ADMX (go.microsoft.com/fwlink/?LinkId=105032). И обязательно подпишитесь на новостной бюллетень GPanswers.com на странице GPanswers.com/newsletter и на промежуточные выпуски новостей в блоге GPanswers.com/blog.