Четверг, 01 ноября 2012 16:53

Извлечение списка пользователей AD в CSV (с помошью PowerShell)

Оцените материал
(7 голосов)

Существует несколько относительно честных способов получить список пользователей подразделения AD в CSV. В данном примере рассмотрим один из них, скрипт PowerShell по получению списка пользователей AD:

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = "LDAP://ou=Users,ou=Departmets,dc=test,dc=ru"
$objSearcher.Filter = "(&(objectCategory=person)(!userAccountControl:1.2.840.113556.1.4.803:=2))"
$users = $objSearcher.FindAll()
# Количество учетных записей
$users.Count
$users | ForEach-Object {
   $user = $_.Properties
   New-Object PsObject -Property @{
   Должность = [string]$user.description
   Отдел = [string]$user.department
   Логин = [string]$user.userprincipalname
   Телефон = [string]$user.telephonenumber
   Комната = [string]$user.physicaldeliveryofficename
   ФИО = [string]$user.cn
    }
} | Export-Csv -NoClobber -Encoding utf8 -Path  d:\list_users.csv

 

Как видно из скрипта все что нужно сделать это вписать необходимое подразделение, в данном примере это Users в подразделении Departments в домене test.ru. Ниже описаны поля которые мы хотим выгрузить в CSV, а в самом конце путь где будет сохранен файл d:\list_users.csv

Внимание!!! данный скрипт не отобразит более 1000 пользователей.

Для тех кто на- вы с Excel, распишу как добиться нормальной таблицы. Открываем в Excel (в данном примере буду использовать версию 2010)файл list_users.csv, выделяем первый столбец (путем нажатия на А), затем заходим во вкладку "Данные" и нажимаем "Текст по столбцам". Выбираем "с разделителями" и нажимаем "Далее".

После этого в Символе разделителе выбираете- запятая, нажимаем "Далее"

и кнопку "Готов".

В результате получаете таблицу с пользователями подразделения.

Я очень надеюсь, моя статья помогла Вам! Просьба поделиться ссылкой с друзьями:


Добавить комментарий