Знания сила :)

Ничто не дается даром в этом мире, и приобретение знания - труднейшая из всех задач, с какими человек может столкнуться. Карлос Кастанеда (Хуан Матус)

среда, 28 ноября 2012 г.

Экспорт информации из снимков Active Directory в Windows Server 2008

Экспорт информации из снимков Active Directory в Windows Server 2008


19.11.2010

Автор: Henrik Walther 
Перевод: exams.com.ua 
Источник: www.petri.co.il

Вступление

В Windows Server 2008 снимки Active Directory позволяют администратору вручную, или с помощью программ, в нужное время создавать резервные копии баз данных Active Directory. Вы можете просматривать данные внутри снимков Active Directory на контроллере домена, без необходимости запуска сервера в режиме Directory Services Restore. Эти снимки можно хранить на локальном жестком диске контроллера домена (DC), или перемещать на внешнее хранилище. Больше информации на эту тему смотрите в статье " Управление снимками Active Directory в Windows Server 2008." и  "Автоматизация создания снимков Active Directory".
Процесс создания и использования снимков AD включает следующую процедуру:
  1. Или вручную, либо воспользовавшись планировщиком, запускайте NTDSUTIL для создания снимков разделов, которые хранят базы данных AD DS.
  2. Запустите NTDSUTIL для отображения, и монтирования снимков, которые вы хотите просматривать.
  3. Запустите DSAMAIN для размещения снимка раздела на сервере LDAP.
Теперь, когда мы разобрались с тем, как создавать AD снимки, давайте сосредоточимся на работе с информацией, которая на них размещена. Чтобы добыть ее, для прикрепления к порту снимка LDAP, который был указан при размещении порта на LDAP сервере, запустим инструмент с графическим интерфейсом, например, DSA.msc, LDP.exe или ADSIEDIT.msc. В данном приложении, вы сможете обозревать снимки так, как будто работаете с контроллером домена. Также, для экспорта информации из снимков, вы можете использовать инструменты для работы с командной строкой, такие как LDIFDE и CSVDE. Больше информации об утилитах командной строки размещено в статье "Использование CSVDE и LDIFDE для экспорта информации из снимков Active Directory в Windows Server 2008".
Примечание: В отличие от Windows Server 2003, в Windows Server 2008 включено LDP.exe и ADSIEDIT.msc, и теперь нет необходимости устанавливать дополнительные инструменты.
Отметьте, что эти данные можно только читать и по умолчанию просматривать снимки могут только участники групп Domain Admins и Enterprise Admins. На AD снимках храниться конфиденциальная информация, и вы должны удостовериться в том, что ваши AD DS снимки надежно защищены от несанкционированного доступа так как, имея доступ к снимкам, злоумышленник может использовать их для получения конфиденциальных данных, которые могут храниться на AD DS.
Основное отличие между использованием инструментов, которые мы будем рассматривать, со снимками AD и с реальной базой данных Active Directory заключается в номере порта. При подключении к реальной базе данных AD, номер порта LDAP (389) по умолчанию указывать обычно не нужно, а при подключении к AD снимку этот номер указывать обязательно. Номер порта тот же самый, что и в DSAMAIN и коммутаторе порта ldap.
Во всех последующих примерах будет использоваться порт 10389. На тестовом домене было создано хранилище каталогов с названием "Dev" с несколькими пользователями. Был создан снимок, а затем были произведены изменения в среде пользователей реального Active Directory.

Использование Active Directory – DSA.msc

Рассмотрим, возможно, самый простой способ для того, чтобы увидеть информацию, которая находится на снимке. Преимущество данного инструмента в Windows Server 2008 заключается в том, что эта операционная система теперь имеет часть выполняет часть функций ADSIEDIT, что позволяет вам просматривать практически все атрибуты для объектов в разделе домена AD.
Для использования DSA.msc со снимком AD, следуйте данному руководству:
  1. Авторизуйтесь в контроллере домена Windows Server 2008, на котором был смонтирован снимок AD, как участник группы Domain Admins.
  2. Откройте меню Пуск. В поле поиска введите DSA.msc и нажмите Enter.
  3. Вы увидите реальный AD, который можно обозревать. Данное окно DSA.msc будет использоваться для обращения снимку.
  4. Повторите действия пункта №2.
  5. В данном окне DSA.msc, нажмите правую кнопку мышки на имени домена и выберите Change Domain Controller.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-1_small.gif
  1. В окне Change Directory Server, нажмите на элемент <Type a Directory Server name[:port] here>, и когда он превратится в текст, который можно изменять, измените его на имя сервера и номер порта, которые вы использовали в DSAMAIN. В данном случае на WIN2008-DC1:10389.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-2_small.gif
  1. После того, как вы нажмете Enter, приложение выполнит проверку указанной цели и если все пройдет успешно, поле статус получит значение "Online". Нажмите OK.
  1. Разместите рядом 2 окна DSA.msc. Вы увидите, что одно из окон работает в режиме «только чтение». На нем нельзя ничего создавать или изменять. Даже кнопка X, хотя и выглядит доступной, вы с ее помощью ничего удалить не сможете.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-3_small.gif
  1. Если открыть окно свойств одного из пользователей (в данном случае"John" для Dev OU), в версии снимка значение атрибута будет в затемненном виде. Вы можете использовать информацию для ручного редактирования значений в реальном снимке базы данных AD, руководствуясь значениями, которые видно в версии снимка.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-4_small.gif
  1. Когда все будет готово, закройте второе окно DSA.msc

Использование ADSIEDIT.msc

Основным преимуществом ADSIEDIT.msc перед DSA.msc – можно считать тот факт, что его можно использовать для подключения к разделам AD (раздел конфигурации, раздел схемы и раздел домена). Программа также позволяет проводить графическое обозревание объектов и атрибутов.
Примечание: ADSIEDIT.msc входит в состав Windows Server 2008.
Для использования ADSIEDIT со снимками AD следуйте данному руководству:
  1. Авторизуйтесь в контроллере домена Windows Server 2008, на котором было смонтировано снимок AD, как участник группы Domain Admins
  2. Нажмите Пуск. В поле поиска введите ADSIEDIT.msc и нажмите Enter.
  3. В окне ADSIEDIT.msc нажмите правую кнопку на ADSI Edit и выберите элемент Connect To.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-5_small.gif
  1. В окне Connection Settings введите имя сервера и номер порта, которые вы использовали в DSAMAIN. В данном случае это WIN2008-DC1:10389. Когда все будет готово, нажмите OK.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-6_small.gif
  1. Если все пойдет хорошо, информация об AD снимке отобразиться в иерархическом древе на панели слева. Вы можете просмотреть панель с древом, и переместится к OU и объекту, который вам нужен. Заметьте, что и здесь информацию также можно только читать.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-7_small.gif
  1. После выполнения всех необходимых действий просто закройте ADSIEDIT.msc.
Как уже упоминалось выше, с помощью ADSIEDIT.msc. вы можете видеть не только контекст именования по умолчанию (раздел домена AD), но также раздел конфигураций и раздел схемы.

Использование LDP.exe

Как и ADSIEDIT.msc, LDP.exe можно использовать для подключения к другим разделам AD – разделам свойств схемы и разделам домена. Однако здесь обозревание объектов и атрибутов проводится в текстовом виде, что в некоторых случаях может быть полезно.
Примечание: LDP.exe входит в состав Windows Server 2008.
Для использования LDP.exe со снимками AD пользуйтесь данным руководством:
  1. Авторизуйтесь в контроллере домена Windows Server 2008, на котором было смонтировано снимок AD, как участник группы Domain Admins
  2. Нажмите Пуск. В поле поиска введите LDP.exe и нажмите Enter.
  3. В окне LDP нажмите на элемент выпадающего меню Connections и выберите Connect.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-8_small.gif
  1. В окне connect, введите имя сервера и номер порта, которые вы использовали в DSAMAIN. В данном случае WIN2008-DC1 и 10389. Затем нажмите OK.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-9_small.gif
  1. Если все прошло хорошо, вы увидите, как информация о подключении появляется на панели справа. При необходимости изменения имени пользователя и пароля, с помощью которых вы подключаетесь, выберите Connections > Bind, а за тем измените эту информацию.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-10_small.gif
  1. Нажмите View > Tree.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-11_small.gif
  1. Вы можете использовать ниспадающее меню для выбора как контекста присвоения имен по умолчанию – раздела домена AD, так раздела конфигурации или схемы. Также вы можете вводить Distinguished Name объекта, который разыскиваете.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-12_small.gif
  1. Просмотрите древо на панели слева. Здесь вы найдете объект OU, который ищите. После двойного нажатия на нужном элементе, вы увидите его атрибуты на панели справа.
Описание: http://www.petri.co.il/images/connctng-ad-snapshots-13_small.gif
  1. По окончанию работы, просто закройте LDP.exe.

И еще один метод – использование скриптов VBS

Здесь мы подробно задерживаться не будем, но как вы наверняка знаете, вооружившись хорошим VBC скриптом, со снимком Active Directory можно сделать довольно много. Так как смонтированные и открытые AD снимки можно только считывать, VBC скрипты можно использовать для экспорта из снимков любого типа данных.
В данной статье не рассматриваются подробные примеры скриптов, но на Ken St. Cyr's Blog находится неплохой скрипт, с которым автор данной статьи охотно с нами делится. Данный скрипт считывает данные с каждой учетной записи и экспортирует атрибуты samAccountName и displayNameв файлTSV (Tab Separated Values), который можно открыть в текстовом формате или в Excel.
Далее приведен код скрипта (в нем используется порт 10389, измените его на тот номер порта, который вы использовали в команде DSAMAIN):
1'--------------------------------------------------------------------------<br>   ' NAME: export-attr.vbs<br>   ' DATE: 3/6/2008<br>   ' DESCRIPTION: Connects  to a directory service provider on the specified<br>   ' port and exports a  list of attributes for each user object<br>   ' in the directory to a  tab-separated values file.<br>   ' AUTHOR: Ken St. Cyr<br>   '--------------------------------------------------------------------------
1Option Explicit
1' Define our parameters<br>   CONST LDAPPORT = 10389<br>   CONST DCNAME =  "localhost"<br>   CONST ATTRIBUTES =  "samAccountName,displayName"<br>   CONST OUTPUT_FILE =  "attribute_backup.tsv"
1' Create the necessary  objects for writing to a file<br>   Dim objFSO : Set objFSO  = CreateObject("Scripting.FileSystemObject")<br>   Dim objFile : Set  objFile = objFSO.OpenTextFile(OUTPUT_FILE, 8, True)
1' Get the RootDSE for  the directory on the port that we want<br>   Dim objRootDSE : Set  objRootDSE = GetObject("LDAP://" & DCNAME & ":"  & _<br>    LDAPPORT & "/RootDSE")
1' Create the connection  object for the AD provider<br>   Dim objConnection : Set  objConnection = CreateObject("ADODB.Connection")<br>   objConnection.Provider =  "ADsDSOObject"<br>   objConnection.Open  "Active Directory Provider"
1' Define the search to  execute<br>   Dim objCommand : Set  objCommand = CreateObject("ADODB.Command")<br>   objCommand.CommandText =  "<LDAP://" & DCNAME & ":" & LDAPPORT &  "/" & _<br>   objRootDSE.Get("defaultNamingContext")  & ">;(&objectCategory=user);" & _<br>    ATTRIBUTES & ";subtree"<br>   objCommand.ActiveConnection  = objConnection
1' Execute the search<br>   Dim objRecordSet : Set  objRecordSet = objCommand.Execute<br>   objRecordSet.MoveFirst
1' Go through each result  about output the attributes to a Tab-Separated file<br>   While Not  objRecordSet.EOF<br>    Dim strSAMAccountName : strSAMAccountName =  objRecordSet.Fields("samaccountname")<br>    Dim strDisplayName : strDisplayName = objRecordSet.Fields("displayName")<br>    objFile.WriteLine strSAMAccountName &  vbtab & strDisplayName<br>    objRecordSet.MoveNext<br>   Wend
1objFile.Close
1WScript.Echo  objRecordSet.RecordCount & " entries written to " &  OUTPUT_FILE<br>

Безопасность

Не забудьте отключится от снимка AD и демонтировать его после экспорта требуемых данных. Смотрите статью Управление снимками Active Directory в Windows Server 2008.

Источник http://www.exams.com.ua/articles/administration/windows/2594.htm

Комментариев нет:

Отправить комментарий