Teh Hermit

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
работа_с_объектами_ad [2025/10/16 13:30] – removed - external edit (Unknown date) 127.0.0.1работа_с_объектами_ad [2025/10/16 13:30] (current) – ↷ Page name changed from запросы_информации_об_объектах_ad to работа_с_объектами_ad jp
Line 1: Line 1:
 +===== Работа с объектами 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
 +С нормальной кодировкой, упорядоченные по операционным системам и датой обновления машинного аккаунта:
 +<WRAP prewrap>
 +<code>
 +Get-ADComputer -filter * -Properties * | Select Name, OperatingSystem, passwordlastset | sort-object OperatingSystem | Export-Csv c:\reports\computers.csv -Encoding UTF8
 +</code>
 +</WRAP>
 +
 +=== Получить список всех компьютеров с серверной ОС в домене ===
 +
 +<code>
 +Get-ADComputer -Filter "OperatingSystem -like '*Server*'" -Properties Name, OperatingSystem, DNSHostName | Select-Object Name, OperatingSystem, DNSHostName
 +</code>
 +
 +=== Выгрузить имена всех пользователей домена в csv-файл в правильной кодировке ===
 +
 +   Get-ADUser -Filter * | Select-Object name | Export-Csv c:\computers.csv -Encoding UTF8
 +
 +=== Выгрузить все учётные записи в AD, которые включены в данный момент. В CSV-файл с нормальной кодировкой===
 +<WRAP prewrap>
 +<code>
 +Get-ADUser -Filter "enabled -eq 'true'" | Select-Object Name, SamAccountName | Export-Csv -Encoding UTF8 C:\Users\e.kudryashov\Desktop\ad_users.csv
 +</code>
 +</WRAP>
 +
 +=== Выгрузить все учётные записи в AD, которые включены в данный момент, отсортировать их по дате создания ===
 +
 +Командлет выгрузит имя и даты создания пользователей. 
 +
 +<WRAP prewrap>
 +<code>
 +Get-ADUser -Filter {Enabled -eq $true} -property name, created | Select-Object -property name, created | Sort-Object -property created
 +</code>
 +</WRAP>
 +
 +=== Выгрузить список пользователей из конкретной OU с сортировкой в CSV-файл ===
 +
 +<WRAP prewrap>
 +<code>
 +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
 +</code>
 +</WRAP>
 +
 +----
 +=== Скопировать членов одной группы в другую ===
 +
 +<WRAP prewrap>
 +<code>
 +Get-ADGroupMember -Identity "source_group" | ForEach-Object {Add-ADGroupMember -Identity "destination_group" -Members $_.distinguishedName}
 +</code>
 +</WRAP>
 +
 +----
 +=== Запрос всех доменных администраторов с явным указанием домена ===
 +
 +Запросим всех членов группы //Domain Admins// для указанного домена, профильтровав вывод с тем, чтобы выводились только включенные активные аккаунты. Запрос выполним с указанием напрямую контроллера домена из запрашиваемого домена. 
 +
 +<WRAP prewrap>
 +<code>
 +$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}
 +</code>
 +</WRAP>
 +
 +----
 +=== Посчитать юзеров из конкретного OU ===
 +
 +   (Get-ADUser -SearchBase "OU=partnercmdsu,DC=arasaka,DC=local" -filter *).Count
 +{{tag>ActiveDirectory Microsoft PowerShell}}