PowerShell пользователи Active Directory в группе
Предлагаю рассмотреть PowerShell скрипт который выгружает в CSV файл данные активных пользователей (не отключенных) состоящих в группе Active Directory.
Для того, что бы получить данные нужно:
- Запустить скрипт
- Указать имя группы из AD
- Указать директорию для выгрузки. Если директорию не указывать, то выгрузка будет выполнена на диск D:\ с именем файла идентичным указанной группе AD.




PowerShell скрипт для выгрузки в CSV файл данных активных пользователей состоящих в группе Active Directory
Do { cls Write-host " ============================== Автор: Николаев Олег Николаевич Site: 3dlan.ru Version: 1.1 ============================== " -foregroundcolor DarkGray Write-host "Экспорт активных пользователей из указанной группы " -foregroundcolor DarkGray $groupname = Read-Host -Prompt "Введите группу" If ($groupname -eq "") { Write-host "Группа не указана. Работа скрипта завершена." -foregroundcolor Red break } $i = 1 try { $users = Get-ADGroupMember -Identity $groupname | ? {$_.objectclass -eq "user"} Write-host "Группа найдена" -foregroundcolor Green } Catch { # Выход по ошибке Группа не нашлась Write-host "Группа не найдена" -foregroundcolor Red break } foreach ($activeusers in $users) { $user = (Get-ADUser -Identity $activeusers -Properties Name, SamAccountName, displayname, department, title | ? {$_.enabled -eq $true} | Select-Object Name, SamAccountName, Department, Title | ForEach-Object {$_.Name + ";" + $_.SamAccountName + ";" + $_.Department + ";" + $_.Title} | Out-String).Trim() If (![string]::IsNullOrEmpty($user)) { #$user -ne "" "№$i " + $user $export += $user + "; `n" $i += 1 } } #cls $folder = Read-Host -Prompt "Введите URL Нажмите Enter если хотите продолжить экспорт по умолчанию Пример: D:\" If ($folder -eq "") { $folder = "D:\" } Write-host "Экспортировано в: D:\$groupname.csv" -foregroundcolor Yellow $export > "$folder$groupname.csv" $export = "" $folder = "" $user = "" $groupname = "" $RepairReinstall = Read-Host -Prompt " 1: Завершить 2: Перезапустить Введите число:" If ($RepairReinstall -eq 1) { Write-Host "Завершить" break } If ($RepairReinstall -eq 2) { Write-Host "Перезапуск скрипта" }
}
While ($true)



