Примеры работы с группами MS Active Directory (AD DS) из командной строки Powershell
Тематические термины: Active Directory, Powershell
Чтение информации
Список всех групп в AD DS
Подробная информация о группе
Члены группы
Сколько пользователей в группе
В каких группах состоит пользователь
Поиск пустых групп
Кто не входит в конкретную группу
Действия над группами
Добавление в группу
Создание группы
Удаление пользователя из группы
Получение информации
1. Список всех групп
Без фильтра:
Get-AdGroup -filter *
С фильтром:
Get-AdGroup -filter * | Where {$_.name -like "*free*"} | fl name
* будут выбраны все группы, в названии которых встречается free.
2. Подробная информация о группе
Get-ADGroup "Domain Users" -Properties *
* где ключ -Properties * покажет информацию о всех атрибутах группы.
Показать только SID и GUID группы:
Get-ADGroup "Domain Admins" | ft ObjectGUID, SID
3. Посмотреть членов группы
Перечень членов групп с базовой информацией о каждом пользователе:
Get-ADGroupMember -Identity Administrators
Вывести на экран только имена пользователей:
Get-ADGroupMember -Identity Administrators | ft name
Рекурсивный запрос:
Get-ADGroupMember -Identity Administrators -Recursive | ft name
* в данном примере используется ключ Recursive — это позволяет вывести на экран не только членов группы Administrators, но и членов групп, которые входят в эту группу.
Вывести членов групп с подробной информацией по каждому из них:
Get-ADGroupMember -Identity "Users" | foreach { Get-ADUser $_ -Properties * }
4. Количество пользователей в группе
Расчет выполняется методом Count:
(Get-ADGroupMember -Identity Administrators).Count
5. В каких группах состоит пользователь
Задача немного обратная — работаем с пользователем и отображаем список групп, в которые он входит:
Get-ADUser Administrator -Properties Memberof | Select -ExpandProperty memberOf
6. Список пустых групп
Имеются ввиду группы, в которых нет ни одного пользователя:
Get-ADGroup -filter * | where {-Not ($_ | Get-ADGroupMember)} | Select Name
7. Cписок пользователей, которые не входят в конкретную группу
Get-ADuser -Filter * -Properties MemberOf | where { -Not ($_.MemberOf -match "Managers") } | Select Name
* в данном примере мы увидем список пользователей, которые не входят в группу Managers.
Действия с группами AD
1. Добавить пользователя в группу
Add-ADGroupMember "Domain Admins" dmosk
* в данном примере пользователь dmosk будет добавлен в группу Domain Admins.
2. Создать новую группу
New-ADGroup -GroupScope DomainLocal -Path "OU=Группы,DC=dmosk,DC=local" -Name "Отдел строительства космических кораблей"
* где GroupScope DomainLocal задает локальную область действия; Path определяет размещение группы в дереве Active Directory.
3. Удалить пользователя из группы
Remove-ADGroupMember -Confirm:$false -Identity "Domain Users" -Members dmosk
* удаляем пользователя dmosk из группы Domain Users. Ключ -Confirm:$false используется для автоматического подтверждения действия (система не станет запрашивать, точно ли Вы хотите удалить пользователя из группы).