Извлечение информации из активного каталога

Я работаю в отделе ИТ-поддержки филиала огромной компании.

Я должен позаботиться о базе данных со всеми пользователями, компьютерами и т. Д. Я пытаюсь найти способ автоматического обновления базы данных в максимально возможной степени, но ребята из ИТ-инфраструктуры не дают мне достаточно привилегий для использования Active Каталог для того, чтобы сбрасывать пользователей, и у них нет времени, чтобы дать мне информацию, которая мне нужна.

Несколько дней назад я обнаружил в Sysinternals проводник Active Directory, который позволяет мне просматривать Active Directory, и нашел там всю необходимую информацию (имя пользователя, настоящее имя, дата создания, привилегии, компания и т. Д.). К сожалению, я не могу экспортировать данные в удобочитаемый формат. Я просто могу сделать снимок всей базы данных в машиночитаемом формате. Создание снимка занимает часы, и я боюсь, что ребятам из инфраструктуры не понравится, когда я делаю снимки целиком на регулярной основе.

Знаете ли вы какой-либо инструмент (предпочтительнее командная строка), который позволил бы мне получить значения ключей или экспортировать их в XML, CSV и т. Д.?

3 ответа

Решение

Используйте более старые инструменты командной строки для Active Directory, чтобы сделать дамп в CSV: http://support.microsoft.com/kb/298882

Или используйте более новый пакет PowerShell для экспорта в CSV, Excel и т. Д. Если вы не знакомы с синтаксисом Powershell, инструмент PowerGUI выдающийся. http://www.powergui.org/

Или используйте не слишком старые, но не слишком новые методы VBScript. Вот пример VBScript, который экспортирует все свойства всех пользователей в Excel: http://gallery.technet.microsoft.com/scriptcenter/4d192f4d-2830-4a3e-9352-64a7e696a36e

У Microsoft есть множество примеров PowerShell и VBScript здесь: http://gallery.technet.microsoft.com/ScriptCenter/

Я переосмысливаю ваш вопрос как:

Как экспортировать данные из AD в удобном для обработки формате, как полный дамп или объект за объектом?

Вам нужно ознакомиться с Powershell и модулем ActiveDirectory. Вы можете делать такие вещи:

Import-Module ActiveDirectory
$me = Get-ADUser myUsername -Properties givenName,sn
Write-Output "My name is $($me.givenName) $($me.sn)."

или это:

Import-Module ActiveDirectory
$subsetUsers = Get-ADUser -Filter * -SearchBase "ou=someou,dc=mydomain,dc=com"

или это:

Import-Module ActiveDirectory
$allUsers = Get-ADUser -Filter *
Write-Output "I've found $($allUsers.Count) users in this domain - writing to CSV."
$allUsers | Export-CSV "myOutputFile.csv"

Powershell - твой лучший друг.

Прежде всего, попробуйте поработать с командой инфраструктуры, если вы сможете объяснить им, какие именно данные вам нужны, и они могут автоматически что-то настроить для вас.

Есть 2 вещи, которые я буду рекомендовать здесь:

CSVDE / LDIFDE. Это утилиты командной строки, которые могут экспортировать любую информацию, которую вы хотите. Если вы хотите что-то обрабатывать, используйте csvde, если вам нужны полные резервные копии или возможность изменять выбранные атрибуты, рассмотрите ldifde.

http://technet.microsoft.com/en-us/library/cc787549%28WS.10%29.aspx

http://msdn.microsoft.com/en-us/library/ms870068%28v=exchg.65%29.aspx

Softerra LDAP broswer - отличный инструмент с графическим интерфейсом, который вы можете использовать для просмотра "сырых" AD.

http://ldapbrowser.com/

Ищите бесплатную версию, называемую браузером ldap, а не администратором ldap. Отсюда вы можете щелкнуть правой кнопкой мыши по любому объекту и экспортировать ldifde.

Другие вопросы по тегам