Я работаю в отделе ИТ-поддержки филиала крупной компании.
Я должен позаботиться о базе данных со всеми пользователями, компьютерами и т. Д. Я пытаюсь найти способ как можно больше автоматически обновлять базу данных, но ребята из ИТ-инфраструктуры не дают мне достаточно прав для использования Active Каталог, чтобы выгружать пользователей, и у них нет времени дать мне нужную мне информацию.
Несколько дней назад я нашел обозреватель Active Directory от Sysinternals, который позволяет мне просматривать Active Directory, и нашел там всю необходимую мне информацию (имя пользователя, настоящее имя, дата создания, привилегии, компания и т. Д.). К сожалению, я не могу экспортировать данные в удобочитаемый формат. Я просто могу сделать снимок всей базы данных в машиночитаемом формате. Создание моментального снимка занимает часы, и я боюсь, что разработчикам инфраструктуры не понравится, что я делаю целые моментальные снимки на регулярной основе.
Знаете ли вы какой-либо инструмент (предпочтительнее командная строка), который позволил бы мне получить значения ключей или экспортировать их в XML, CSV и т. Д.?
Используйте старые инструменты командной строки для 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/
Во-первых, попробуйте поработать с командой разработчиков инфраструктуры: если вы можете объяснить им, какие именно данные вам нужны, они могут настроить что-то для вас автоматически.
Я порекомендую здесь 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 - отличный инструмент с графическим интерфейсом, который можно использовать для просмотра "сырых" AD.
Ищите бесплатную версию под названием ldap browser, а не ldap administrator. Отсюда вы можете щелкнуть правой кнопкой мыши любой объект и экспортировать ldifde.
Я интерпретирую ваш вопрос так:
Как мне экспортировать данные из 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 - ваш лучший друг.