CSVDE и LDIFDE — экспорт информации из снимков (Snapshots) Active Directory в Windows Server 2008

Как уже было сказано в предыдущих статьях этой серии, Windows Server 2008 позволяет администраторам создавать снимки базы AD. Используя их, вы сможете просматривать информацию в снимках и использовать ее для восстановления или для диагностики без необходимости перегружать контроллер домена в режиме Directory Services Restore Mode. Эти снимки могут быть сохранены на локальный диск контроллера домена или скопированы любой другой носитель. Более подробно как это делается, вы можете прочитать в моих предыдущих статьях Снимки Active Directory (Active Directory Snapshots) в Windows Server 2008Автоматическое создание снимков (snapshots) Active DirectoryЭкспорт информации из снимка (snapshot) Active Directory в Windows Server 2008 .

В общих чертах процесс создания и использования снимка AD выглядит следующим образом:

  1. Любым способом, в ручную или запланированной задачей используя утилиту NTDSUTIL создайте снимок раздела, который содержит базу AD.
  2. Используя туже утилиту смонтируйте полученный шаблон.
  3. Запустите утилиту DSAMAIN чтобы опубликовать ваш снимок на LDAP сервере.

Предыдущая статья описывала как использовать графические утилиты, такие как DSA.msc, LDP.exe или ADSIEDIT.msc для подключения и просмотра снимка AD. Эта статья расскажет о двух утилитах командной строки — LDIFDE и CSVDE, которые позволят экспортировать информацию из снимка AD.

LDIFDE и CSVDE — две утилиты которые позволяют экспортировать информацию из Active Directory, а так же создавать объекты Active Directory из LDIF и CSV файлов определенного формата. Экспортируемая информация может быть отфильтрована на основе местоположения объекта в каталоге, по членству в OU и по классам объекта, таким как пользователь, группа или компьютер. Наряду со многими другими опциями, при экспорте вы можете выбрать, какие атрибуты объектов необходимы к выгрузке.

В своих статьях я использую LDAP порт 10389 для снимков AD. Так же я создал OU (Organization Unit), названный Dev, в моем тестовом домене и добавил туда нескольких пользователей. После этого я сделал снимок AD и затем внес некоторые изменений в этих пользователях в работающей системе.

Поскольку LDIFDE и CSVDE имеют в основном схожий синтаксис команд, вот несколько основных параметров команд, которые мы будем использовать в этом примере. Помните, что есть много других параметров команд, однако о них я не буду вести речь в этой статье.

  • -f параметр, задает путь к файлу, к примеру -f c:/test.csv или -f c:/test.ldf
  • -s параметр, задает имя сервера для соединения, например -s WIN2008-dc1
  • -t параметр, задает номер порта LDAP, например -t 10389
  • -d параметр, позволяет отфильтровать выгрузку по конкретному объекту или OU. Например для выгрузки только OU Dev, а не всего содержимого AD параметр будет выглядеть так -d «ou=dev,dc=petrilab,dc=local» . А для того чтобы выгрузить только пользователя James из OU Dev, строка будет такой -d «cn=james,ou=dev,dc=petrilab,dc=local»
  • -r параметр, позволяет фильтровать выгрузку по классу объекта, например -r «(objectClass=user)»
  • -l параметр (англ L, только маленькая), задает атрибут для выгрузки, например -l telephonenumber

CSVDE.exe

Эта утилита командной строки позволяет выгрузить из AD или в нашем случае из снимка AD практически любой объект или атрибут. CSVDE.exe экспортирует данные в CSV (Comma Separated Value) файл и с ним удобно работать в Excel или в любом текстовом редакторе.

CSVDE.exe не работает с паролями, поэтому ее нельзя использовать для экспорта паролей из AD. Так же CSVDE не позволяет редактировать или удалять существующие объекты.

Для использования CSVDE.exe со снимком AD, сделайте следующее:

  1. Зайдите под пользователем, членом группы Domain Admins на контроллер домен Windows Server 2008 на котором у вас смонтирован снимок AD.
  2. Пуск — Выполнить — CMD

Для начала нам надо выгрузить информацию из работающей базы AD, для этого выполним следующую команду:

C:’Users’Administrator>csvde -d «cn=james,ou=dev,dc=petrilab,dc=local» -r «(objectClass=user)» -l telephonenumber -f c:’test.csv

Connecting to «(null)»

Logging in as current user using SSPI

Exporting directory to file c:’test.csv

Searching for entries…

Writing out entries.

Теперь проделаем тоже самое со снимком AD, который у нас работает на LDAP порту 10389:

C:’Users’Administrator>csvde -s WIN2008-dc1 -t 10389 -d «cn=james,ou=dev,dc=petrilab,dc=local» -r «(objectClass=user)» -l telephonenumber -f c:’testsnap.csv

Connecting to «WIN2008-dc1»

Logging in as current user using SSPI

Exporting directory to file c:’testsnap.csv

Searching for entries…

Writing out entries

.

Export Completed. Post-processing in progress…

1 entries exported

The command has completed successfully

Посмотрим на результаты выгрузки двух команд, видите отличия?

connctng-ad-snapshots-14

LDIFDE.exe

Как и CSVDE.exe эта утилита командной строки позволяет выгрузить из AD или в нашем случае из снимка AD практически любой объект или атрибут. LDIFDE.exe экспортирует данные в LDIF (LDAP Data Interchange Format) файл. LDIF формат — это кросплатформенный стандарт, он позволяет переносить данные из сторонних служб каталогов в Active Directory. В отличии от CSV файлов, с LDIF файлами невозможно работать в excel, только в текстовых редакторах.

Основное отличие LDIFDE от CSVDE в том, что LDIFDE может модифицировать существующие объекты и даже удалять их.

Однако LDIFDE не поддерживает изменений членства в группах и так же как и CSVDE не поддерживает выгрузку паролей.

Для использования LDIFDE.exe со снимком AD, сделайте следующее:

  1. Зайдите под пользователем, членом группы Domain Admins на контроллер домен Windows Server 2008 на котором у вас смонтирован снимок AD.
  2. Пуск — Выполнить — CMD

Для начала нам надо выгрузить информацию из работающей базы AD, для этого выполним следующую команду:

C:’Users’Administrator>ldifde -d «cn=james,ou=dev,dc=petrilab,dc=local» -r «(objectClass=user)» -l telephonenumber -f c:’test.ldf

Connecting to «WIN2008-DC1.petrilab.local»

Logging in as current user using SSPI

Exporting directory to file c:’test.ldf

Searching for entries…

Writing out entries.

1 entries exported

The command has completed successfully

Теперь проделаем тоже самое со снимком AD, который у нас работает на LDAP порту 10389:

C:’Users’Administrator>ldifde -s WIN2008-dc1 -t 10389 -d «cn=james,ou=dev,dc=petrilab,dc=local» -r «(objectClass=user)» -l telephonenumber -f c:’testsnap.ldf

Connecting to «WIN2008-dc1»

Logging in as current user using SSPI

Exporting directory to file c:’testsnap.ldf

Searching for entries…

Writing out entries.

1 entries exported

The command has completed successfully

Посмотрим на результаты выгрузки двух команд, видите отличия?

connctng-ad-snapshots-15

Восстановление информации

Вы можете посмотреть информацию в полученных при экспорте файлах и вручную изменить ее в рабочей AD. Это возможно проделать для нескольких объектов или параметров. Для массового восстановления я рекомендовал бы использовать утилиту DSCT о которой я писал в этой статье Directory Service Comparison Tool — сравнение баз Active Directory а для восстановления единичных объектов вам пригодится эта статья Восстановление удаленных элементов в Active Directory.

Leave a Reply

*

Dansette

Рейтинг@Mail.ru Яндекс.Метрика