Сегодня мы попробуем выгрузить список все пользователей в отдельный файл из Active Directory. Главным помощником в этом деле у нас будет PowerShell. Всё дело в том, что Microsoft изначально планировала командную консоль PowerShell как основной инструмент для управления серверными компонентами Windows. И на сегодняшний день, когда мы имеем уже версию 2.0, по большому счету, это так и есть.
Ещё в недалеком прошлом, чтобы хоть как-то взаимодействовать с AD, администраторам необходимо было иметь в своем распоряжении либо утилиту dsquery, либо разного рода скрипты или утилиты. Сегодня же начиная с версии Windows Server 2008 R2, мы можем работать с AD через PowerShell. С приходом PowerShell 2.0 для взаимодействия с Active Directory используется специальный модуль Active Directory Module for Windows PowerShell, который содержит в себе необходимый список командлетов. Для наших задач мы будем использовать команду Get-ADUser.
Итак, в зависимости под управлением какой операционной системы мы будем запускать консоль PowerShell, нам необходимо будет выполнить “подготовительные действия”.
1) Если мы работаем в Windows Server до версии 2012, то нам необходимо выполнить команду: Import-Module activedirectory. (Для версий ОС от 2012 и выше, данный модуль уже включен по умолчанию)
2) Если мы работаем из под любой клиентской Windows, то на ней должен быть установлен пакет удаленного администрирования RSAT, с проинсталлированным компонентом Active Directory Module for Windows PowerShell.
Стоит отметить, что командлет Get-ADUser рекомендуется выполнять при количестве выгружаемых данных до 1000 пользователей.
Экспортируем пользователей AD при помощи PowerShell в отдельный файл
Для начала вызовем справку для команды Get-ADUser. В результате Вы получите все необходимые команды для дальнейшего администрирования.
Help Get-ADUser - команда для вызова справки
Чтобы получить в окне PowerShell список всех пользователей со всеми свойствами, необходимо выполнить следующую команду:
Get-ADUser -filter * - экспорт списка пользователей AD
Данная выгрузка не совсем информативна и не умещает в окне всю необходимую информацию. Поэтому попробуем сузить поиск и выведем свойства конкретного пользователя с именем user1:
А теперь попробуем экспортировать список всех пользователей с их свойствами во внешний txt или csv файл:
Get-ADUser -filter * -properties * | Export-csv -path c:\users.csv -encoding Unicode - экспорт пользователей в отдельный файл
Хотелось бы обратить отдельное внимание на ключ -encoding Unicode. Он служит для того, чтобы русская кириллица, после экспорта из AD, могла корректно отображаться в выгруженном файле. Например, через Microsoft Excel мы увидим вопросительные знаки вместо русских букв.
При просмотре файла данные экспортируются в одну строку и тем самым не пригодны для чтения. Чтобы это изменить, нам необходимо выполнить следующие действия:
Выделяем в Экселе первый столбец, как показано на скриншоте.
Откроем вкладку данные > Текст по столбцам. И в окне мастера выберем параметр – С разделителями.
В следующем окне выберем в качестве разделителя Запятую и нажмем > Далее.
В итоге получаем вполне себе читаемый csv файл, в котором каждое свойство пользователя разбито на отдельные столбцы.
Нужна помощь в работе с Active Directory?
Свяжитесь с нами для получения технической поддержки.