Бесплатный инструмент восстановления GPO

Резервное копирование и восстановление — ключевая область, которой должен уделить внимание каждый администратор AD. Но просто ввести план архивации и восстановления контроллера домена (DC) недостаточно: необходим отдельный план архивации и восстановления для групповых политик. В отличие от контроллеров домена, объекты групповой политики (GPO) обычно делегируются более многочисленной группе администраторов организационных единиц (OU), а не просто администраторам всей службы AD. Чем больше людей работает с объектами GPO, особенно сравнительно неопытных администраторов, тем выше вероятность случайного (или намеренного) изменения или удаления объекта GPO. Изменения в производственном объекте GPO почти всегда затрагивают работу многих пользователей, поэтому очень важно быстро восстановить его. GPO можно восстановить из резервных копий DC, но это процесс длительный и трудоемкий.

Организовать простой механизм архивации и восстановления GPO несложно. Консоль управления групповой политикой GPMC в составе Windows Server 2008 и Windows Server 2008 R2 (обладатели Windows Server 2003 могут загрузить ее из адреса http://bit.ly/4DpDVp) располагает превосходной библиотекой из 32 примеров сценариев для обслуживания групповой политики. После того как консоль GPMC установлена на Server 2003, сценарии будут сохранены в каталоге C:\Program Files\GPMC\Scripts. Сценарии изначально не входят в состав Server 2008 и R2, но совместимы с этими версиями операционной системы. Их можно загрузить с сайта Microsoft по адресу http://bit.ly/1Jef98. В Server 2008 и R2 сценарии размещаются в каталоге C:\Program Files\Microsoft Group Policy\GPMC Sample Scripts. Все сценарии предназначены для выполнения различных действий с объектами GPO; для резервного копирования и восстановления применяются сценарии BackupGPO.wsf, BackupAllGPOs.wsf, RestoreGPO.wsf и RestoreALLGPOs.wsf. Для администратора AD наиболее интересны BackupAllGPOs для резервного копирования всех объектов GPO в домене и RestoreGPO для восстановления одного объекта GPO.

Сценарии составлены на языке VBScript или JScript. Если cscript.exe не применяется для обработки сценариев по умолчанию, то необходимо явно указать cscript.exe в командной строке. Чтобы выполнить резервное копирование всех объектов GPO в домене, перейдите в каталог сценариев и запустите команду:

Cscript backupallgpos.wsf
   <местонахождение резервной копии>
   [/Comment:<комментарий>]
   [/Domain:]

Сценарий копирует все объекты GPO домена в место, указанное администратором, создавая для каждого объекта GPO подкаталоги с именем на основе 128-разрядного идентификатора GUID, уникально идентифицирующего GPO. После того как все объекты GPO скопированы, можно восстановить их индивидуально с помощью RestoreGPO.wsf:

Cscript restoreGPO.wsf <местонахождение
   резервной копии>
   <имя GPO>/domain:

Эти сценарии архивируют и восстанавливают как объекты GPO в AD, так и шаблоны групповой политики на SYSVOL, но не архивируют и не восстанавливают связи между объектами GPO и организационными единицами, к которым они применяются. Связи нужно отслеживать отдельно или использовать сценарий ListSOMPolicyTree.wsf, чтобы составить список связей между объектами GPO и сайтами, доменами и организационными единицами.

Мониторинг службы FRS

С групповой политикой связана SYSVOL, структура папок на каждом DC, содержащая шаблоны групповой политики домена и сценариев регистрации. Механизм репликации — служба репликации файлов (FRS) в Server 2003, репликация распределенной файловой системы (DFSR) в Server 2008 и R2 — обеспечивает синхронизацию структуры SYSVOL между контроллерами домена. Использование DFSR для репликации SYSVOL — значительное улучшение по сравнению с ненадежным методом репликации FRS. Но поскольку для DFSR требуются Server 2008 и ручной переход от FRS к DFSR, в большинстве производственных доменов по-прежнему применяется FRS.

Контроль FRS необходим по двум причинам. Во-первых, правильное функционирование SYSVOL — обязательное условие нормальной работы домена. Однако большинство администраторов не выполняет превентивных проверок и не контролирует службы FRS — отчасти потому, что сообщения журнала событий FRS редки и не особенно информативны, а отчасти потому, что проходит некоторое время, прежде чем неполадки FRS дают о себе знать. Во-вторых, перед переходом к репликации DFSR необходимо убедиться, что служба FRS функционирует корректно. В противном случае можно испортить SYSVOL.

Компания Microsoft предоставляет инструмент мониторинга FRS под названием Ultrasound, который можно загрузить по адресу http://bit.ly/gMy6S. Необычное для Microsoft имя утилиты объясняется тем, что она пришла на смену более простому инструменту под названием Sonar (не спрашивайте, откуда взялось название Sonar). Ultrasound состоит из трех основных компонентов. Один компонент — небольшой провайдер Windows Management Instrumentation (WMI), устанавливаемый на каждом DC. Он собирает информацию о состоянии FRS и передает ее следующему компоненту, контроллеру Ultrasound. Этот компонент состоит из службы и базы данных, в которой хранятся данные о состоянии FRS, получаемые контроллером из обслуживаемых серверов. Базой данных, которая не обязательно располагается на одном компьютере с контроллером, может быть Microsoft SQL Server Desktop Engine (MSDE — ее можно загрузить по адресу http://bit.ly/20HiM) или SQL Server. Администратор может добавлять и удалять членов (контроллеры домена), за которыми ведется наблюдение, и видеть общее состояние отслеживаемого набора FRS. Возможна углубленная детализация данных. Запуск административной консоли должен выполняться на ограниченном числе систем, поэтому держать ее постоянно открытой неудобно и, как правило, необязательно. Рекомендуется установить ее, устранить проблемы SYSVOL, а затем обращаться к ней раз в неделю. Утилита Ultrasound появилась довольно давно, ее облик и принципы работы необычны для инструмента, подготовленного группой Microsoft Product Support Services (PSS), но она пригодна для решения задачи.

Сценарии NTDSUTIL

NTDSUTIL широко используется для решения типовых задач, таких как очистка метаданных от незапланированных отказов DC. Но не все знают, что можно составлять простые сценарии для запуска действий NTDSUTIL в планировщике задач или интерактивно. Просто введите команды NTDSUTIL одну за другой на одной строке. Если у команды несколько аргументов, они заключаются в кавычки.

Хороший пример сценария — моментальный снимок AD, который можно получить в Server 2008. С помощью службы Volume Shadow Copy Service (VSS) формируется моментальный снимок данных домена. Моментальный снимок создается с использованием команды NTDSUTIL «snapshot». С помощью этой информации можно быстро восстановить объект и все его атрибуты (в том числе трудно восстанавливаемые обратные ссылки, такие как memberOf), сочетая реанимацию помеченных для удаления объектов и сценарии PowerShell.

Моментальные снимки полезны, только если создавать их регулярно. Это легко делать с помощью следующего однострочного сценария NTDSUTIL:

Ntdsutil snapshot "activate instance
   ntds"create quit quit

На экране 1 показаны результаты выполнения сценария. Добавьте этот сценарий в пакетный файл, запускаемый из планировщика заданий. Аналогично можно подготовить сценарий для просмотра всех имеющихся моментальных снимков. Это удобно, когда требуется срочно восстановить объект:

Ntdsutil snapshot "act inst ntds
   "list all" quit quit

Затем можно быстро просмотреть список, чтобы выбрать моментальный снимок для присоединения с помощью инструмента подключения базы данных (dsamain.exe, доступен по адресу http://bit.ly/X4prc).

Предотвращение случайного удаления организационных единиц

Администратору AD приходится уделять много времени простой задаче: предотвращать случайное удаление объектов AD. Сложность этой задачи напрямую связана с количеством сотрудников, имеющих права в домене. Хорошая модель безопасности AD предусматривает ряд мер для снижения риска. Хотя сами по себе эти меры не обеспечивают исчерпывающего решения, принцип «эшелонированной обороны» гарантирует, что вместе они сделают домен более безопасным.

Одна из таких мер — использование собственных функций управления доступом AD для предотвращения случайного удаления организационных единиц. Состав участников системы безопасности (пользователей, групп и компьютеров) в OU может меняться, но OU является частью структуры организации и удаляется редко. Начиная с Server 2008 группа Microsoft Directory Services Team упростила операцию, которую опытные администраторы AD уже выполняли самостоятельно: назначение элемента управления доступом (Deny ACE) для объектов, чтобы помешать их случайному удалению.

В оснастке Active Directory Users and Computers консоли управления MMC можно установить флажок для защиты объекта от непреднамеренного удаления, как показано на экране 2. Этот флажок, расположенный на вкладке Object страницы свойств OU, устанавливает элементы Deny ACE для разрешений Delete и Delete Subtree для группы Everyone. Чтобы разрешить удаление, необходимо снять флажок.

Экран 2. Предотвращение случайного удаления объекта

Важно учитывать некоторые особенности этого метода. Во-первых, параметр применяется только к организационным единицам. Администратор может без проблем создавать, изменять и удалять учетные записи участников безопасности в OU. Во-вторых, параметр не наследуется — другими словами, если установить его для OU верхнего уровня в структуре, он применяется лишь к одному этому OU, но не нижестоящим организационным единицам. С помощью .NET можно подготовить сценарий для применения режима к другим организационным единицам, но, за исключением чрезвычайно большой структуры OU, установить флажок проще, чем подготовить (и тщательно протестировать) сценарий. Поскольку устанавливается запись Deny ACE, защиту можно применить к любому объекту в AD, но только в мастере New OU есть удобный флажок.

Доступ к атрибутам для всех

Одна из трудностей использования AD в малых и средних компаниях — правильно внести данные без применения дорогостоящих инструментов расширения. С помощью атрибутов AD заранее заполняется практически всем, что нужно администратору (и даже, например, Telex-Number). Атрибут employeeID предназначен для хранения уникального идентификационного номера сотрудника. Но этот атрибут не представлен в оснастке Active Directory Users and Computers. Добавляя запись для нового сотрудника, инспектор отдела кадров или администратор учетных записей должен использовать инструменты командной строки, такие как dsmod или бесплатная утилита admod с сайта joeware. Большинство администраторов учетных записей не очень умело обращаются с различающимися именами (DN), поэтому здесь было бы уместно простое решение в интерфейсе пользователя. В этом качестве может применяться обновленная оснастка Active Directory Users and Computers для Windows 7 и Windows Vista. Remote Server Administration Tools (RSAT) for Vista (http://bit.ly/cnwzD) и Windows 7 (http://bit.ly/TYGxd) располагают обновленной версией оснастки Active Directory Users and Computers (dsa.msc) с полезным новым компонентом — редактором атрибутов.

Редактор атрибутов дополнен важной функцией, которая находится в ADSIEDIT или редакторе LDP, но не в знакомом интерфейсе Active Directory Users and Computers: можно отредактировать любой атрибут объекта AD, а не только атрибуты, традиционно представленные в интерфейсе Active Directory Users and Computers. Воспользуемся предыдущим сценарием: на экране 3 показано, как добавить идентификационный номер сотрудника для записи нового сотрудника Sosumi Areti (должность — Staff Liability Director). По умолчанию в редакторе атрибутов показана только часть всех атрибутов для объекта. Из списка атрибутов можно отбирать атрибуты со значениями, пригодные для записи, обязательные или дополнительные, построенные, обратные ссылки или только системные. Возможность показать построенные атрибуты очень полезна; если используются детальные политики паролей Server 2008, можно показать эффективный параметр пароля (effectivePso) для пользователя. Это соответствует просмотру результирующего набора политики для пользователя, когда нужно увидеть объекты GPO, влияющие на его работу.

Экран 3. Добавление идентификационного номера сотрудника

Помимо операционной системы Windows 7 или Vista, для редактора атрибутов требуется изменить схему леса Server 2003 до уровня Server 2008 для обновления спецификаторов просмотра в масштабе леса. Альтернативный обходной ручной прием описан по адресу http://bit.ly/ysFP1.

Обратите внимание, что установка RSAT в Windows 7 и Vista выполняется иначе, чем в Windows XP и Server 2003. При установке набора инструментов меню Start не меняется — возникает впечатление, что ничего не установлено. Чтобы увидеть инструменты, откройте утилиту Programs and Features панели управления, установите режим Turn Windows features on or off, выберите Remote Server Administration Tools, Role Administration Tools и углубитесь до Active Directory Domain Services (AD DS). Я обнаружил ошибку в бета-версии R2, приведшую к тому, что требовалось отмечать каждый инструмент отдельно. Надеюсь, этот изъян будет устранен в версии RTM. Наконец, перейдите в раздел Advanced меню View, чтобы увидеть редактор атрибутов.

Управление репликацией

Обычно репликация AD успешно выполняется без вмешательства администратора, но каждый администратор AD должен знать, как управлять репликацией вручную. Предположим, объект был случайно удален, и этого не заметили сразу. Возможность быстро остановить репликацию за пределы сайта позволит внешним пользователям избежать последствий ошибочного удаления объекта. Существует несколько методов управления репликацией.

Наиболее распространенный способ — использовать Active Directory Sites and Services (dssite.msc) для управления сайтами AD и связями сайтов. Запустите Active Directory Sites and Services и перейдите к Sites, Inter-Site Transports, IP, а затем откройте окно свойств связи сайта, в котором нужно отключить репликацию, как показано на экране 4. Нажмите кнопку Change Schedule, выберите всю область дней и часов в сетке расписания и установите флажок Replication Not Available. Это действие отключает репликацию между всеми сайтами, использующими связь.

С помощью Active Directory Sites and Services репликация отменяется только на одном уровне сайтов. Вероятно, придется отключить репликацию и на уровне DC, чтобы изолировать изменения схемы или случайные удаления (если расторопный администратор уже задействовал сценарий). Чтобы отключить репликацию на уровне DC, нужно использовать универсальный инструмент репликации — REPADMIN.

Количество командных ключей, параметров и приемов REPADMIN так велико, что об этом можно было бы написать книгу. В данной статье мы сосредоточимся на ключе /options. Если использовать обычный ключ /? для поиска файлов справки REPADMIN, то не удастся даже увидеть ключа /options. Необходимо задействовать /experthelp, чтобы получить список более мощных ключей, которые, как указывает Microsoft, могут нарушить установку Active Directory. Администраторам Server 2008 использовать /options еще сложнее; необходимо ввести repadmin/?: options.

Сложный синтаксис REPADMIN одинаков для Server 2008 и Server 2003. Репликация — всегда операция «извлечения» (DC всегда запрашивает репликацию, направленную к себе, а не выдает репликацию от себя), и исходящую репликацию обычно отключают, так как она применяется к сценариям удаления объектов и схемы. Чтобы отключить исходящую репликацию на одном DC, выполните команду

Repadmin/options
   +disable_outbound_repl

Если требуется отключить исходящую репликацию для нескольких DC, необходимо составить простой сценарий. Чтобы заново включить репликацию, измените «+» на «-» и повторите команду.

Исключение для команды REPADMIN/options — в Server 2008 можно отключить исходящую репликацию для всего сайта (очень удобно при случайном удалении):

Repadmin/options site: <имя сайта>
   disable_outbound_repl

Существует несколько передовых методов управления репликацией между отдельными контроллерами домена и группами DC, но они могут доставить администратору много хлопот, поскольку параметры находятся обычно совсем не в тех местах, куда мы привыкли заглядывать в поисках решения проблемы репликации. Пренебрежение документированием действий может привести к необходимости полностью перестроить контроллеры домена. Даже метод /options нелегко найти тому, кто лишь изредка занимается диагностикой. Чрезвычайно важно организовать надежный процесс контроля производственных изменений.

Малоизвестный, но полезный инструментарий

AD — сложная структура с разнообразными приемами и инструментарием, предназначенным для упрощения задачи администратора. Некоторые методы более заметны и применяются достаточно широко. Подходы, представленные в данной статье, менее известны, но они, несомненно, станут полезным добавлением к арсеналу средств управления средой AD.

Шон Дьюби - Редактор Windows IT Pro и член группы службы каталогов в компании Intel. Имеет звание MVP. sdeuby@windowsitpro.com


Экран 1. Запуск сценария NTDSUTIL для регулярного получения моментальных снимков

Экран 4. Использование Active Directory Sites and Services для отключения репликации