Groepen beheren

In dit artikel leert u hoe u groepen in Microsoft Entra ID beheert met behulp van Microsoft Entra PowerShell. De voorbeelden zijn het maken en bijwerken van groepen, het toevoegen van gebruikers en eigenaren, het opvragen van eigenaarsloze en lege groepen.

Prerequisites

Groepen maken

Als u een groep wilt maken, moet u de vereiste machtigingen hebben om een groep te maken.

Connect-Entra -Scopes 'Group.ReadWrite.All' 

Voer de volgende opdracht uit om een nieuwe groep te maken.

$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                   {}

Met deze opdracht maakt u een nieuwe groep met de naam Contoso marketing.

Zoek naar de gemaakte groep met behulp van de volgende opdracht.

Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
DisplayName        Id                                   MailNickname     Description        GroupTypes
-----------        --                                   ------------     -----------        ----------
Contoso marketing       aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet       Contoso marketing EMEA        {}

Met deze opdracht worden de details van de zojuist gemaakte groep geretourneerd. U kunt ook de GroupId (GUID) gebruiken om de groep te zoeken, bij te werken of te verwijderen.

Groepsdetails bijwerken

Werk de groepsbeschrijving bij door de volgende opdracht uit te voeren.

Get-EntraGroup -Filter "displayName eq 'Contoso marketing'" | Set-EntraGroup -Description 'Contoso marketing Global'

Voer de Get-EntraGroup opnieuw uit om de bijgewerkte beschrijving te bevestigen.

Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"  

Gebruiker toevoegen aan een groep

Voeg een gebruiker toe aan de groep door de volgende opdracht uit te voeren. De GroupId is de groeps-id en de MemberId is de gebruikers-id. U kunt de gebruikers-id ophalen uit de Microsoft Entra-beheercentrum of door de opdracht Get-EntraUser uit te voeren.

$group = Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
$user = Get-EntraUser -UserId 'SawyerM@contoso.com'
Add-EntraGroupMember -GroupId $group.Id -MemberId $user.Id

Gebruik de opdracht om groepsleden op te halen:

$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

Gebruiker toevoegen als groepseigenaar

Voeg een groepseigenaar toe aan een groep door de volgende opdracht uit te voeren. De GroupId is de groeps-ID en de OwnerId is de gebruikers-ID.

$group = Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
$owner = Get-EntraUser -UserId 'AdeleV@contoso.com'
Add-EntraGroupOwner -GroupId $group.Id -OwnerId $owner.Id

Gebruik de opdracht om de bijgewerkte groepseigenaar te bevestigen:

$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

Query's uitvoeren op eigenaarsloze of lege groepen

Als u query's wilt uitvoeren op groepen zonder eigenaars, voert u de volgende opdracht uit.

$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 {}

Voer de volgende opdracht uit om query's uit te voeren op groepen zonder leden (lege groepen).

$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 {}

De hulpbronnen opschonen

Gebruik de opdracht om de groep te verwijderen:

Get-EntraGroup -Filter "displayName eq 'Contoso marketing'" | Remove-EntraGroup