Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы узнаете, как управлять группами в Microsoft Entra ID с помощью Microsoft Entra PowerShell. Примеры включают создание и обновление групп, добавление пользователей и владельцев, запросы без владельца и пустые группы.
Prerequisites
- Учетная запись пользователя Microsoft Entra. Если ее нет, можно создать учетную запись бесплатно.
- Установите последнюю версию модуля PowerShell Microsoft Entra. Дополнительные сведения см. в разделе "Установка модуля Microsoft Entra PowerShell".
- Иметь как минимум роль администратора групп.
Создание групп
Чтобы создать группу, убедитесь, что у вас есть необходимые разрешения для создания группы.
Connect-Entra -Scopes 'Group.ReadWrite.All'
Чтобы создать новую группу, выполните следующую команду.
$groupParams = @{
DisplayName = 'Contoso marketing'
MailEnabled = $false
SecurityEnabled = $true
MailNickName = 'NotSet'
}
New-EntraGroup @groupParams
DisplayName Id MailNickname Description GroupTypes
----------- -- ------------ ----------- ----------
Contoso marketing aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Эта команда создает новую группу с именем Contoso marketing.
Выполните поиск созданной группы с помощью следующей команды.
Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
DisplayName Id MailNickname Description GroupTypes
----------- -- ------------ ----------- ----------
Contoso marketing aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet Contoso marketing EMEA {}
Эта команда возвращает сведения о созданной группе. Вы также можете использовать идентификатор GroupId (GUID), чтобы найти, обновить или удалить группу.
Обновление сведений о группе
Обновите описание группы, выполнив следующую команду.
Get-EntraGroup -Filter "displayName eq 'Contoso marketing'" | Set-EntraGroup -Description 'Contoso marketing Global'
Чтобы подтвердить обновленное описание, снова запустите Get-EntraGroup .
Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
Добавление пользователя в группу
Добавьте пользователя в группу, выполнив следующую команду.
GroupId — это идентификатор группы, а MemberId — идентификатор пользователя. Вы можете получить идентификатор пользователя из Центр администрирования Microsoft Entra или выполнив команду Get-EntraUser.
$group = Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
$user = Get-EntraUser -UserId 'SawyerM@contoso.com'
Add-EntraGroupMember -GroupId $group.Id -MemberId $user.Id
Чтобы получить список участников группы, используйте команду:
$group = Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
Get-EntraGroup -GroupId $group.Id | Get-EntraGroupMember | Select-Object Id, DisplayName, '@odata.type'
Id DisplayName @odata.type
------------------------------------ ----------------- -------------------------------
dddddddd-3333-4444-5555-eeeeeeeeeeee Sawyer Miller #microsoft.graph.user
eeeeeeee-4444-5555-6666-ffffffffffff Alex Wilber #microsoft.graph.user
aaaaaaaa-6666-7777-8888-bbbbbbbbbbbb My Application #microsoft.graph.servicePrincipal
cccccccc-8888-9999-0000-dddddddddddd Contoso Group #microsoft.graph.group
Добавление пользователя в качестве владельца группы
Добавьте владельца группы в группу, выполнив следующую команду.
GroupId — это идентификатор группы, а OwnerId — идентификатор пользователя.
$group = Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
$owner = Get-EntraUser -UserId 'AdeleV@contoso.com'
Add-EntraGroupOwner -GroupId $group.Id -OwnerId $owner.Id
Чтобы подтвердить обновленного владельца группы, используйте команду:
$group = Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
Get-EntraGroup -GroupId $group.Id | Get-EntraGroupOwner | Select-Object Id, DisplayName, '@odata.type'
Id DisplayName @odata.type
------------------------------------ ----------------- ---------------------------
aaaaaaaa-6666-7777-8888-bbbbbbbbbbbb Adele Vance #microsoft.graph.user
Запросить группы без владельца или пустые группы
Чтобы запросить группы без владельцев, выполните следующую команду.
$allGroups = Get-EntraGroup -All
$groupsWithoutOwners = foreach ($group in $allGroups) {
$owners = Get-EntraGroupOwner -GroupId $group.Id
if ($owners.Count -eq 0) {
$group
}
}
$groupsWithoutOwners | Format-Table DisplayName, Id, GroupTypes
DisplayName Id GroupTypes
----------- -- ----------
Contoso marketing aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb {}
HelpDesk admin group eeeeeeee-4444-5555-6666-ffffffffffff {}
Чтобы запросить группы без членов (пустых групп), выполните следующую команду.
$allGroups = Get-EntraGroup -All
$groupsWithoutMembers = foreach ($group in $allGroups) {
$members = Get-EntraGroupMember -GroupId $group.Id
if ($members.Count -eq 0) {
$group
}
}
$groupsWithoutMembers | Format-Table DisplayName, Id, GroupTypes
DisplayName Id GroupTypes
----------- -- ----------
Contoso marketing aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb {}
HelpDesk admin group eeeeeeee-4444-5555-6666-ffffffffffff {}
Очистите ресурсы
Чтобы удалить группу, используйте команду:
Get-EntraGroup -Filter "displayName eq 'Contoso marketing'" | Remove-EntraGroup