Скрипты выгрузки всех пользователей из MS Active Directory (ITGC)
Одной из стандартных процедур проведения аудита ITGC для каталога Active Directory является получение выгрузки всех пользователей домена. На основании полученных данных далее формируются процедуры тестирования, к примеру изучение списка администраторов или выявление пользователей с истекшим паролем. Наиболее эффективным для формирования такой выгрузки будет использование стандартного интерфейса PowerShell, примеры которого мы и рассмотрим в данной статье
1. Экспресс выгрузка скриптом на PowerShell
Ниже представлен скрипт PowerShell, как один из наиболее простых и быстрых способов получить список всех пользователей домена AD в формате CSV, который без проблем открывается тем же Excel'ем.
Для того что бы скрипт отработал на вашей системе, необходимо его чуть подкорректировать, а именно вписать необходимые параметры, т.е. как в данном примере это параметры Users в подразделении Departments в домене Test.ru. А так же указать путь к месту сохранения файла list_domen_users.csv
После выгрузки, если сразу открыть list_domen_users.csv, будет выглядеть в не читабельном виде, однако, станалртыми средствами мы легко его приведем в нужный нам формат. Открываем в Excel list_domen_users.csv, выделяем первый столбец , затем заходим во вкладку "Данные" и нажимаем "Текст по столбцам". Выбираем "с разделителями" и нажимаем "Далее". Готово!
!Необходимо заметить, что данный скрипт не отобразит более 1000 пользователей. Для небольшой компании вполне подойдет, а тем же у кого в домене огромное количество пользователей стоит прибегнуть к методам описанным ниже.
2. Продвинутый командлет PowerShell для получения выгрузки пользователей Active Directory
Инструмент Active Directory Module for Windows PowerShell (представлен в Windows Server 2008 R2 и выше), позволяет формировать командлеты которые выполняют различные манипуляции с объектами каталога AD. Для получения информации о пользователях и их свойствах предназначен командлет Get-ADUser.
Для начала запускаем окно Powershell с правами администратора и импортируем модуль Active Directory для дальнейших действия: Import-Module activedirectory
Чтобы вывести список всех учетных записей домена, выполним команду:
Get-ADUser -filter *
Чтобы вывести полную информации обо всех доступных атрибутах пользователя tuser, выполним команду
Get-ADUser -identity tuser -properties *
К примеру, нас интересует информация о дате смены пароля и времени, когда он истечет. Результат выполнения команды можно выгрузить в текстовый файл:
Или сразу выгрузить в CSV, который в дальнейшем будет удобно экспортировать в Excel (дополнительно с помощью sort-object отсортируем таблицу по столбцу PasswordLastSet , а также добавим условие where – имя пользователя должно содержать строку «Dmitry»)
Выше приведенные примеры безусловно не исчерпывают всех возможностей предоставляемых PowerShell. Для тех, кому тема показалась интересной может самостоятельно более подробно ознакомится с другими фичами в статьях Типовые задачи администрирования AD и 10 задач администрирования Active Directory опубликованной на Хабре.
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.