Чтобы получить список пользователей AD с указанием их электронной почты можно воспользоваться следующим скриптом PowerShell
cls import-module ActiveDirectory Get-ADUser -Filter {Enabled -eq 'True'} -SearchBase 'CN=Users,DC=test,DC=ru' -SearchScope Subtree -Properties displayName, Name, mail, sn, initials, mail, telephoneNumber, company, department, title | `sort-object displayName | select-object -property @{Name = "Имя"; Expression = {$_.displayName;}}, @{Name = "Enabled"; Expression = {$_.Enabled;}}, @{Name = "Login"; Expression = {$_.Name;}}, @{Name = "Mail"; Expression = {$_.Mail;}}, @{Name = "Телефон"; Expression = {$_.telephoneNumber;}}, @{Name = "Организация"; Expression = {$_.company;}}, @{Name = "Отдел"; Expression = {$_.department;}}, @{Name = "Должность"; Expression = {$_.title;}} | Export-Csv "C:\Userlist.csv" -notype -Delimiter ";" -encoding "unicode"
Скрипт выполняется на контроллере домена
В результате выполнения этого скрипта на диске C будет сформирован csv-файл, со всеми необходимыми данными. Обращаю Ваше внимание на слова выделенные жирным — вместо указанных данных необходимо ввести ваши параметры домена.
Также на просторах интернета был найден вот такой скрипт:
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = "LDAP://cn=Users,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 "c:\ist_users.csv"
Он делает собственно тоже самое, но немного другой формат вывода данных и данный скрипт можно запускать с локальной рабочей станции, а не только с самого контроллера домена.
comments powered by HyperComments