===== Запросы информации об объектах AD ===== === Выгрузить имена всех компьютеров в csv-файл === Get-ADComputer -Filter * | Select-Object name | Export-Csv c:\computers.csv === Разделить имена компьютеров запятой и выгрузить одной строкой === (Get-ADComputer -filter * | Select-Object name).name -join "," или выгрузить все компьютеры с их ОС: Get-ADComputer -filter * -Properties * | Select Name, OperatingSystem С нормальной кодировкой, упорядоченные по операционным системам и датой обновления машинного аккаунта: Get-ADComputer -filter * -Properties * | Select Name, OperatingSystem, passwordlastset | sort-object OperatingSystem | Export-Csv c:\reports\computers.csv -Encoding UTF8 === Выгрузить имена всех пользователей домена в csv-файл в правильной кодировке === Get-ADUser -Filter * | Select-Object name | Export-Csv c:\computers.csv -Encoding UTF8 === Выгрузить все учётные записи в AD, которые включены в данный момент. В CSV-файл с нормальной кодировкой=== Get-ADUser -Filter "enabled -eq 'true'" | Select-Object Name, SamAccountName | Export-Csv -Encoding UTF8 C:\Users\e.kudryashov\Desktop\ad_users.csv === Выгрузить все учётные записи в AD, которые включены в данный момент, отсортировать их по дате создания === Командлет выгрузит имя и даты создания пользователей. Get-ADUser -Filter {Enabled -eq $true} -property name, created | Select-Object -property name, created | Sort-Object -property created === Выгрузить список пользователей из конкретной OU с сортировкой в CSV-файл === Get-ADUser -SearchBase "OU=unit,OU=domain,DC=domain,DC=domain,DC=ru" -Filter * | Select-Object SamAccountName | Sort -Property SamAccountName | Export-Csv c:\users_samname.csv ---- === Скопировать членов одной группы в другую === Get-ADGroupMember -Identity "source_group" | ForEach-Object {Add-ADGroupMember -Identity "destination_group" -Members $_.distinguishedName} ---- === Запрос всех доменных администраторов с явным указанием домена === Запросим всех членов группы //Domain Admins// для указанного домена, профильтровав вывод с тем, чтобы выводились только включенные активные аккаунты. Запрос выполним с указанием напрямую контроллера домена из запрашиваемого домена. $groupname = "Domain Admins" $users = Get-ADGroupMember -Server dc.domain.local -Identity $groupname | ? {$_.objectclass -eq "user"} foreach ($activeusers in $users) { Get-ADUser -Server dc.domain.local -Identity $activeusers | ? {$_.enabled -eq $true} | select Name, SamAccountName, UserPrincipalName, Enabled} ---- === Посчитать юзеров из конкретного OU === (Get-ADUser -SearchBase "OU=partnercmdsu,DC=arasaka,DC=local" -filter *).Count {{tag>ActiveDirectory Microsoft PowerShell}}