Verwalten von Gruppen

In diesem Artikel erfahren Sie, wie Sie Gruppen in Microsoft Entra ID mithilfe von Microsoft Entra PowerShell verwalten. Die Beispiele umfassen das Erstellen und Aktualisieren von Gruppen, das Hinzufügen von Benutzern und Besitzern, das Abfragen von besitzerlosen und leeren Gruppen.

Voraussetzungen

Erstellen von Gruppen

Um eine Gruppe zu erstellen, stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen zum Erstellen einer Gruppe verfügen.

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

Führen Sie den folgenden Befehl aus, um eine neue Gruppe zu erstellen.

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

Mit diesem Befehl wird eine neue Gruppe mit dem Namen Contoso marketingerstellt.

Suchen Sie mithilfe des folgenden Befehls nach der erstellten Gruppe.

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

Dieser Befehl gibt die Details der neu erstellten Gruppe zurück. Sie können auch die GroupId (GUID) verwenden, um die Gruppe zu durchsuchen, zu aktualisieren oder zu löschen.

Aktualisieren von Gruppendetails

Aktualisieren Sie die Gruppenbeschreibung, indem Sie den folgenden Befehl ausführen.

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

Um die aktualisierte Beschreibung zu bestätigen, führen Sie die Get-EntraGroup erneut aus.

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

Hinzufügen eines Benutzers zu einer Gruppe

Fügen Sie der Gruppe einen Benutzer hinzu, indem Sie den folgenden Befehl ausführen. Dies GroupId ist die Gruppen-ID und die MemberId Benutzer-ID. Sie können die Benutzer-ID aus dem Microsoft Entra Admin Center abrufen oder den Befehl "Get-EntraUser" ausführen.

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

Verwenden Sie den Befehl, um Gruppenmitglieder abzurufen:

$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

Benutzer als Besitzer einer Gruppe hinzufügen

Fügen Sie einer Gruppe einen Gruppenbesitzer hinzu, indem Sie den folgenden Befehl ausführen. Dies GroupId ist die Gruppen-ID und die OwnerId Benutzer-ID.

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

Um den aktualisierten Gruppenbesitzer zu bestätigen, verwenden Sie den Befehl:

$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

Besitzerlose oder leere Gruppen abfragen

Führen Sie den folgenden Befehl aus, um Gruppen ohne Besitzer abzufragen.

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

Führen Sie den folgenden Befehl aus, um Gruppen ohne Mitglieder (leere Gruppen) abzufragen.

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

Bereinigen von Ressourcen

Um die Gruppe zu entfernen, verwenden Sie den Befehl:

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