Freigeben über


Microsoft Entra-Cmdlets Version 2 für die Gruppenverwaltung

Dieser Artikel enthält Beispiele für die Verwendung von PowerShell zur Verwaltung von Gruppen in Microsoft Entra ID (Teil von Microsoft Entra). Darüber hinaus erfahren Sie, wie das Microsoft Graph PowerShell-Modul eingerichtet wird. Zunächst müssen Sie das Microsoft Graph PowerShell-Modul herunterladen.

Installieren Sie das Microsoft Graph PowerShell-Modul

Verwenden Sie die folgenden Befehle, um das MgGroup PowerShell-Modul zu installieren:

    PS C:\Windows\system32> Install-module Microsoft.Graph

Überprüfen Sie mithilfe des folgenden Befehls, ob das Modul verwendet werden kann:

PS C:\Windows\system32> Get-Module -Name "*graph*"

ModuleType Version    PreRelease Name                                ExportedCommands
---------- -------    ---------- ----                                ----------------
Script     1.27.0                Microsoft.Graph.Authentication      {Add-MgEnvironment, Connect-MgGraph, Disconnect-MgGraph, Get-MgContext…}
Script     1.27.0                Microsoft.Graph.Groups              {Add-MgGroupDriveListContentTypeCopy, Add-MgGroupDriveListContentTypeCopyF…

Sie können die Cmdlets jetzt im Modul verwenden. Eine vollständige Beschreibung der Cmdlets im Microsoft Graph-Modul finden Sie in der Onlinereferenzdokumentation für Microsoft Graph PowerShell.

Herstellen einer Verbindung mit dem Verzeichnis

Bevor Sie Gruppen mithilfe der Azure AD PowerShell-Cmdlets verwalten können, müssen Sie Ihre PowerShell-Sitzung mit dem Verzeichnis verbinden, das verwaltet werden soll. Verwenden Sie den folgenden Befehl:

    PS C:\Windows\system32> Connect-MgGraph -Scopes "Group.ReadWrite.All"

Das Cmdlet fordert Sie zur Eingabe der Anmeldeinformationen auf, die Sie für den Zugriff auf Ihr Verzeichnis verwenden möchten. In diesem Beispiel verwenden wir karen@drumkit.onmicrosoft.com für den Zugriff auf das Demoverzeichnis. Das Cmdlet gibt eine Bestätigung zurück, die angibt, dass die Sitzung mit Ihrem Verzeichnis verbunden wurde:

    Welcome To Microsoft Graph!

Sie können die MgGraph-Cmdlets nun zum Verwalten von Gruppen in Ihrem Verzeichnis verwenden.

Abrufen von Gruppen

Mit dem Get-MgGroups-Cmdlet können Sie vorhandene Gruppen aus Ihrem Verzeichnis abrufen.

Um alle Gruppen innerhalb des Verzeichnisses abzurufen, verwenden Sie das Cmdlet ohne Parameter:

    PS C:\Windows\system32> Get-MgGroup -All

Das Cmdlet gibt alle Gruppen innerhalb des verbundenen Verzeichnisses zurück.

Zum Abrufen einer bestimmten Gruppe verwenden Sie den GroupId-Parameter und geben die ObjektID der Gruppe an:

    PS C:\Windows\system32> Get-MgGroup -GroupId 5e3eba05-6c2b-4555-9909-c08e997aab18 | fl

Das Cmdlet gibt nun die Gruppe zurück, deren objectID-Wert mit dem eingegebenen Wert des Parameters übereinstimmt:

AcceptedSenders               :
AllowExternalSenders          :
AppRoleAssignments            :
AssignedLabels                :
AssignedLicenses              :
AutoSubscribeNewMembers       :
Calendar                      : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCalendar
CalendarView                  :
Classification                :
Conversations                 :
CreatedDateTime               : 14-07-2023 14:25:49
CreatedOnBehalfOf             : Microsoft.Graph.PowerShell.Models.MicrosoftGraphDirectoryObject
DeletedDateTime               :
Description                   : Sales and Marketing
DisplayName                   : Sales and Marketing
Id                            : f76cbbb8-0581-4e01-a0d4-133d3ce9197f
IsArchived                    :
IsAssignableToRole            :
IsSubscribedByMail            :
LicenseProcessingState        : Microsoft.Graph.PowerShell.Models.MicrosoftGraphLicenseProcessingState
Mail                          : SalesAndMarketing@M365x64647001.onmicrosoft.com
MailEnabled                   : True
MailNickname                  : SalesAndMarketing
RejectedSenders               :
RenewedDateTime               : 14-07-2023 14:25:49
SecurityEnabled               : True

Mithilfe des Parameters „-filter“ können Sie nach einer bestimmten Gruppe suchen. Dieser Parameter verwendet eine ODATA-Filterklausel und gibt alle Gruppen zurück, die dem Filter entsprechen. Beispiel:

    PS C:\Windows\system32> Get-MgGroup -Filter "DisplayName eq 'Intune Administrators'"


    DeletionTimeStamp            :
    ObjectId                     : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType                   : Group
    Description                  : Intune Administrators
    DirSyncEnabled               :
    DisplayName                  : Intune Administrators
    LastDirSyncTime              :
    Mail                         :
    MailEnabled                  : False
    MailNickName                 : 4dd067a0-6515-4f23-968a-cc2ffc2eff5c
    OnPremisesSecurityIdentifier :
    ProvisioningErrors           : {}
    ProxyAddresses               : {}
    SecurityEnabled              : True

Hinweis

In den MgGroup PowerShell-Cmdlets ist der OData-Abfragestandard implementiert. Weitere Informationen finden Sie unter $filter im Artikel OData-Systemabfrageoptionen mit dem OData-Endpunkt.

Hier haben Sie ein Beispiel, das zeigt, wie sie alle Gruppen abrufen, für die keine Ablaufrichtlinie angewendet wurde

Connect-MgGraph -Scopes 'Group.Read.All'
Get-MgGroup -ConsistencyLevel eventual -Count groupCount -Filter "NOT (expirationDateTime+ge+1900-01-01T00:00:00Z)" | Format-List Id

In diesem Beispiel wird dasselbe wie im vorherigen Beispiel ausgeführt, aber das Skript exportiert auch die Ergebnisse in CSV.

Connect-MgGraph -Scopes 'Group.Read.All'
Get-MgGroup -ConsistencyLevel eventual -Count groupCount -Filter "NOT (expirationDateTime+ge+1900-01-01T00:00:00Z)" | Format-List Id |Export-Csv -Path {path} -NoTypeInformation

In diesem letzten Beispiel wird gezeigt, wie Sie nur Gruppen abrufen, die zu Teams gehören

Get-MgGroup -ConsistencyLevel eventual -Count groupCount -Filter "NOT (expirationDateTime+ge+1900-01-01T00:00:00Z) and resourceProvisioningOptions/any(p:p eq 'Team')" | Format-List Id, expirationDateTime, resourceProvisioningOptions

Erstellen von Gruppen

Zum Erstellen einer neuen Gruppe in Ihrem Verzeichnis verwenden Sie das Cmdlet „New-MgGroup“. Dieses Cmdlet erstellt eine neue Sicherheitsgruppe „Marketing“:

$param = @{
 description="My Demo Group"
 displayName="DemoGroup"
 mailEnabled=$false
 securityEnabled=$true
 mailNickname="Demo"
}

New-MgGroup @param

Aktualisieren von Gruppen

Zum Aktualisieren einer vorhandenen Gruppe verwenden Sie das MgGroup-Cmdlet. In diesem Beispiel ändern wir die Eigenschaft „DisplayName“ der Gruppe „Intune Administrators“. Zunächst suchen wir mit dem Get-MgGroup-Cmdlet nach der Gruppe. Dabei filtern wir das Ergebnis mithilfe des Attributs „DisplayName“:

    PS C:\Windows\system32> Get-MgGroup -Filter "DisplayName eq 'Intune Administrators'"


    DeletionTimeStamp            :
    ObjectId                     : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType                   : Group
    Description                  : Intune Administrators
    DirSyncEnabled               :
    DisplayName                  : Intune Administrators
    LastDirSyncTime              :
    Mail                         :
    MailEnabled                  : False
    MailNickName                 : 4dd067a0-6515-4f23-968a-cc2ffc2eff5c
    OnPremisesSecurityIdentifier :
    ProvisioningErrors           : {}
    ProxyAddresses               : {}
    SecurityEnabled              : True

Anschließend ändern wir die Eigenschaft „Description“ in den neuen Wert „Intune Device Administrators“:

    PS C:\Windows\system32> Update-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b -Description "Demo Group Updated"

Wenn wir nun erneut nach der Gruppe suchen, sehen wir, dass die Eigenschaft „Description“ mit dem neuen Wert aktualisiert wurde:

    PS C:\Windows\system32> Get-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b | select displayname, description

    DisplayName Description
    ----------- -----------
    DemoGroup   Demo Group Updated

Löschen von Gruppen

Zum Löschen von Gruppen aus Ihrem Verzeichnis verwenden Sie das Remove-MgGroup Cmdlet wie folgt:

    PS C:\Windows\system32> Remove-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b

Verwalten der Gruppenmitgliedschaft

Hinzufügen von Mitgliedern

Wenn Sie einer Gruppe neue Mitglieder hinzufügen möchten, verwenden Sie das Cmdlet „New-MgGroupMember“. Mit diesem Befehl wird der Gruppe „Intune Administrators“ aus dem vorherigen Beispiel ein Mitglied hinzugefügt:

    PS C:\Windows\system32> New-MgGroupMember -GroupId f76cbbb8-0581-4e01-a0d4-133d3ce9197f -DirectoryObjectId a88762b7-ce17-40e9-b417-0add1848eb68

Der GroupId-Parameter ist die Objekt-ID der Gruppe, der ein Mitglied hinzugefügt werden soll, „-DirectoryObjectId“ ist die Objekt-ID des Benutzers, der als Gruppenmitglied hinzugefügt werden soll.

Abrufen von Mitgliedern

Zum Abrufen der vorhandenen Mitglieder einer Gruppe verwenden Sie das Cmdlet „Get-MgGroupMember“, wie in diesem Beispiel gezeigt:

    PS C:\Windows\system32> Get-MgGroupMember -GroupId 2c52c779-8587-48c5-9d4a-c474f2a66cf4

Id                                   DeletedDateTime
--                                   ---------------
aaaaaaaa-bbbb-cccc-1111-222222222222
bbbbbbbb-cccc-dddd-2222-333333333333

Entfernen von Mitgliedern

Um das Mitglied zu entfernen, das der Gruppe zuvor hinzugefügt wurde, verwenden Sie das Cmdlet „Remove-MgGroupMember“, wie hier gezeigt:

    PS C:\Windows\system32> Remove-MgGroupMemberByRef -DirectoryObjectId 00aa00aa-bb11-cc22-dd33-44ee44ee44ee -GroupId 2c52c779-8587-48c5-9d4a-c474f2a66cf4

Überprüfen von Mitgliedern

Die Gruppenmitgliedschaften eines Benutzers können mithilfe des Cmdlets „Select-MgGroupIdsUserIsMemberOf“ überprüft werden. Dieses Cmdlet verwendet als Parameter die Objekt-ID des Benutzers, für den die Gruppenmitgliedschaften überprüft werden sollen, sowie eine Liste mit Gruppen, für die die Mitgliedschaften überprüft werden sollen. Die Liste der Gruppen muss in Form einer komplexen Variable vom Typ „Microsoft.Open.AzureAD.Model.GroupIdsForMembershipCheck“ angegeben werden. Daher müssen wir zunächst eine Variable dieses Typs erstellen:

Get-MgUserMemberOf -UserId 00aa00aa-bb11-cc22-dd33-44ee44ee44ee

Id                                   DisplayName Description GroupTypes AccessType
--                                   ----------- ----------- ---------- ----------
5dc16449-3420-4ad5-9634-49cd04eceba0 demogroup   demogroup    {Unified}

Der zurückgegebene Wert ist eine Liste mit Gruppen, in denen dieser Benutzer Mitglied ist. Diese Methode kann auch verwendet werden, um die Mitgliedschaft in Kontaktlisten, Gruppen oder Dienstprinzipalen für eine Liste von Gruppen zu überprüfen. Verwenden Sie dazu „Select-MgGroupIdsContactIsMemberOf“, „Select-MgGroupIdsGroupIsMemberOf“ oder „Select-MgGroupIdsServicePrincipalIsMemberOf“.

Deaktivieren der Gruppenerstellung durch Benutzer

Sie können dafür sorgen, dass Benutzer ohne Administratorrechte keine Sicherheitsgruppen erstellen können. In Microsoft Online Directory Services (MSODS) sind Benutzer ohne Administratorrechte standardmäßig zum Erstellen von Gruppen berechtigt. Dabei spielt es keine Rolle, ob auch die Self-Service-Gruppenverwaltung (self-Service Group Management, SSGM) aktiviert ist. Die SSGM-Einstellung kontrolliert das Verhalten nur im Portal „Meine Gruppen“.

So deaktivieren Sie die Gruppenerstellung für Benutzer ohne Administratorrechte:

  1. Prüfen Sie, ob Benutzer ohne Administratorrechte zum Erstellen von Gruppen berechtigt sind:

    PS C:\> Get-MgBetaDirectorySetting | select -ExpandProperty values
    
     Name                            Value
     ----                            -----
     NewUnifiedGroupWritebackDefault true
     EnableMIPLabels                 false
     CustomBlockedWordsList
     EnableMSStandardBlockedWords    false
     ClassificationDescriptions
     DefaultClassification
     PrefixSuffixNamingRequirement
     AllowGuestsToBeGroupOwner       false
     AllowGuestsToAccessGroups       true
     GuestUsageGuidelinesUrl
     GroupCreationAllowedGroupId
     AllowToAddGuests                true
     UsageGuidelinesUrl
     ClassificationList
     EnableGroupCreation             true
    
  2. Wird EnableGroupCreation : True zurückgegeben, sind Benutzer ohne Administratorrechte zum Erstellen von Gruppen berechtigt. So deaktivieren Sie das Feature:

     Install-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
     Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
     $params = @{
     TemplateId = "62375ab9-6b52-47ed-826b-58e47e0e304b"
     Values = @(		
     	@{
     		Name = "EnableGroupCreation"
     		Value = "false"
     	}		
     )
     }
     Connect-MgGraph -Scopes "Directory.ReadWrite.All"
     New-MgBetaDirectorySetting -BodyParameter $params
    
    

Verwalten von Gruppenbesitzern

Zum Hinzufügen von Besitzern zu einer Gruppe verwenden Sie das Cmdlet „New-MgGroupOwner“:

    PS C:\Windows\system32> New-MgGroupOwner -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497 -DirectoryObjectId 92a0dad0-7c9e-472f-b2a3-0fe2c9a02867

Der GroupId-Parameter ist die Objekt-ID der Gruppe, der ein Besitzer hinzugefügt werden soll, --DirectoryObjectId ist die Objekt-ID des Benutzers oder Dienstprinzipals, der als Besitzer der Gruppe hinzugefügt werden soll.

Zum Abrufen der Besitzer einer Gruppe verwenden Sie das Get-MgGroupOwner-Cmdlet:

    PS C:\Windows\system32> Get-MgGroupOwner -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497

Das Cmdlet gibt die Liste der Besitzer (Benutzer und Dienstprinzipale) für die angegebene Gruppe zurück:

    Id                                       DeletedDateTime
    --                                       ---------------
    8ee754e0-743e-4231-ace4-c28d20cf2841
    85b1df54-e5c0-4cfd-a20b-8bc1a2ca7865
    4451b332-2294-4dcf-a214-6cc805016c50

Zum Entfernen eines Besitzers aus einer Gruppe verwenden Sie das Cmdlet „Remove-MgGroupOwnerByRef“:

    PS C:\Windows\system32> Remove-MgGroupOwnerByRef -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497 -DirectoryObjectId 92a0dad0-7c9e-472f-b2a3-0fe2c9a02867

Reservierte Aliase

Wenn eine Gruppe erstellt wird, ermöglichen bestimmte Endpunkte dem Benutzer, einen mailNickname oder Alias anzugeben, der als Teil der E-Mail-Adresse der Gruppe verwendet werden soll. Gruppen mit den folgenden besonders privilegierten E-Mail-Aliasen können nur von einem Microsoft Entra globalen Administrator erstellt werden. 

  • abuse
  • admin
  • administrator
  • hostmaster
  • majordomo
  • postmaster
  • root
  • secure
  • security
  • ssl-admin
  • webmaster

Rückschreiben von Gruppen in das lokale Active Directory

Heutzutage werden viele Gruppen immer noch im lokalen Active Directory verwaltet. Als Reaktion auf Anforderungen zum Synchronisieren von Cloudgruppen mit der lokalen Instanz ist das Gruppenrückschreiben für Microsoft Entra ID mit der Microsoft Entra-Cloudsychronisierung jetzt verfügbar.

Wichtig

Die öffentliche Vorschau von Group Writeback v2 in Microsoft Entra Verbinden Sync ist nach dem 30. Juni 2024 nicht mehr verfügbar. Dieses Feature wird an diesem Datum nicht mehr unterstützt, und Sie werden in Verbinden Synchronisierung nicht mehr unterstützt, um Cloudsicherheitsgruppen für Active Directory bereitzustellen. Das Feature wird weiterhin über das Einstellungsdatum hinaus funktionieren, es erhält jedoch nach diesem Datum keine Unterstützung mehr und kann jederzeit ohne Vorwarnung aufhören, zu funktionieren.

Wir bieten ähnliche Funktionen in Microsoft Entra Cloud Sync namens "Gruppenbereitstellung in Active Directory ", die Sie anstelle von Group Writeback v2 für die Bereitstellung von Cloudsicherheitsgruppen in Active Directory verwenden können. Wir arbeiten daran, diese Funktionalität in Cloud Sync zusammen mit anderen neuen Features zu verbessern, die wir in Cloud Sync entwickeln.

Kunden, die dieses Vorschaufeature in Verbinden Synchronisieren verwenden, sollten ihre Konfiguration von Verbinden Synchronisierung in Cloud Sync wechseln. Sie können die gesamte Hybridsynchronisierung in Cloud Sync verschieben (sofern sie Ihre Anforderungen unterstützt). Sie können Cloud Sync auch nebeneinander ausführen und nur die Cloudsicherheitsgruppenbereitstellung in Active Directory in Cloud Sync verschieben.

Kunden, die Microsoft 365-Gruppen für Active Directory bereitstellen, können Sie für diese Funktion weiterhin Group Writeback v1 verwenden.

Sie können das Verschieben ausschließlich in Cloud Sync auswerten, indem Sie den Benutzersynchronisierungs-Assistenten verwenden.

Nächste Schritte

Weitere Informationen zu Azure Active Directory PowerShell finden Sie unter Microsoft Entra-Cmdlets.