Microsoft Entra versie 2-cmdlets voor groepsbeheer

Dit artikel bevat voorbeelden van het gebruik van PowerShell voor het beheren van uw groepen in Microsoft Entra ID, onderdeel van Microsoft Entra. U krijgt ook informatie over het instellen van de Microsoft Graph PowerShell-module. Eerst moet u de Microsoft Graph PowerShell-module downloaden.

De Microsoft Graph PowerShell-module installeren

Gebruik de volgende opdrachten om de MgGroup PowerShell-module te installeren:

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

Gebruik de volgende opdracht om te controleren of de module gereed is voor gebruik:

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…

U kunt nu de cmdlets in de module gaan gebruiken. Raadpleeg de online referentiedocumentatie voor Microsoft Graph PowerShell voor een volledige beschrijving van de cmdlets in de Microsoft Graph-module.

Verbinding maken naar de map

Voordat u groepen kunt beheren met behulp van Microsoft Graph PowerShell-cmdlets, moet u uw PowerShell-sessie verbinden met de map die u wilt beheren. Gebruik de volgende opdracht:

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

De cmdlet vraagt u om de referenties die u wilt gebruiken voor toegang tot uw directory. In dit voorbeeld gebruiken karen@drumkit.onmicrosoft.com we toegang tot de demonstratiemap. De cmdlet retourneert een bevestiging om aan te geven dat de sessie is verbonden met uw directory:

    Welcome To Microsoft Graph!

U kunt nu de MgGraph-cmdlets gebruiken om groepen in uw directory te beheren.

Groepen ophalen

Gebruik de cmdlet Get-MgGroups om bestaande groepen op te halen uit uw directory.

Als u alle groepen in de map wilt ophalen, gebruikt u de cmdlet zonder parameters:

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

De cmdlet retourneert alle groepen in de verbonden map.

U kunt de parameter -GroupId gebruiken om een specifieke groep op te halen waarvoor u de object-id van de groep opgeeft:

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

De cmdlet retourneert nu de groep waarvan de object-id overeenkomt met de waarde van de parameter die u hebt ingevoerd:

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

U kunt zoeken naar een specifieke groep met behulp van de parameter -filter. Deze parameter gebruikt een ODATA-filtercomponent en retourneert alle groepen die overeenkomen met het filter, zoals in het volgende voorbeeld:

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


    DeletionTimeStamp            :
    ObjectId                     : 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df
    ObjectType                   : Group
    Description                  : Intune Administrators
    DirSyncEnabled               :
    DisplayName                  : Intune Administrators
    LastDirSyncTime              :
    Mail                         :
    MailEnabled                  : False
    MailNickName                 : 4dd067a0-6515-4f23-968a-cc2ffc2eff5c
    OnPremisesSecurityIdentifier :
    ProvisioningErrors           : {}
    ProxyAddresses               : {}
    SecurityEnabled              : True

Notitie

De MgGroup PowerShell-cmdlets implementeren de OData-querystandaard. Zie $filter in OData-systeemqueryopties met behulp van het OData-eindpunt voor meer informatie.

Groepenmaken

Als u een nieuwe groep wilt maken in uw directory, gebruikt u de cmdlet New-MgGroup. Met deze cmdlet maakt u een nieuwe beveiligingsgroep met de naam Marketing:

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

New-MgGroup @param

Groepen bijwerken

Als u een bestaande groep wilt bijwerken, gebruikt u de cmdlet Update-MgGroup. In dit voorbeeld wijzigen we de eigenschap DisplayName van de groep 'Intune Beheer istrators'. Eerst zoeken we de groep met behulp van de Cmdlet Get-MgGroup en filteren we het kenmerk DisplayName:

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


    DeletionTimeStamp            :
    ObjectId                     : 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df
    ObjectType                   : Group
    Description                  : Intune Administrators
    DirSyncEnabled               :
    DisplayName                  : Intune Administrators
    LastDirSyncTime              :
    Mail                         :
    MailEnabled                  : False
    MailNickName                 : 4dd067a0-6515-4f23-968a-cc2ffc2eff5c
    OnPremisesSecurityIdentifier :
    ProvisioningErrors           : {}
    ProxyAddresses               : {}
    SecurityEnabled              : True

Vervolgens wijzigen we de eigenschap Description in de nieuwe waarde 'Intune Device Beheer istrators':

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

Als we de groep opnieuw vinden, zien we dat de eigenschap Description is bijgewerkt om de nieuwe waarde weer te geven:

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

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

Groepen verwijderen

Als u groepen uit uw directory wilt verwijderen, gebruikt u de cmdlet Remove-MgGroup als volgt:

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

Groepslidmaatschap beheren

Leden toevoegen

Gebruik de cmdlet Add-MgGroupMember om nieuwe leden toe te voegen aan een groep. Met deze opdracht wordt een lid toegevoegd aan de Intune-Beheer istratorsgroep die we in het vorige voorbeeld hebben gebruikt:

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

De parameter -GroupId is de ObjectID van de groep waaraan we een lid willen toevoegen en de -DirectoryObjectId is de ObjectID van de gebruiker die we als lid aan de groep willen toevoegen.

Leden ophalen

Als u de bestaande leden van een groep wilt ophalen, gebruikt u de cmdlet Get-MgGroupMember, zoals in dit voorbeeld:

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

Id                                   DeletedDateTime
--                                   ---------------
71b3857d-2a23-416d-bd22-a471854ddada
fd2d57c7-22ad-42cd-961a-7340fb2eb6b4

Leden verwijderen

Als u het lid wilt verwijderen dat we eerder aan de groep hebben toegevoegd, gebruikt u de cmdlet Remove-MgGroupMember, zoals hier wordt weergegeven:

    PS C:\Windows\system32> Remove-MgGroupMemberByRef -DirectoryObjectId 053a6a7e-4a75-48bc-8324-d70f50ec0d91 -GroupId 2c52c779-8587-48c5-9d4a-c474f2a66cf4

Leden verifiëren

Gebruik de cmdlet Select-MgGroupIdsUserIsMemberOf om de groepslidmaatschappen van een gebruiker te controleren. Deze cmdlet gebruikt als parameters de ObjectId van de gebruiker waarvoor de groepslidmaatschappen moeten worden gecontroleerd en een lijst met groepen waarvoor de lidmaatschappen moeten worden gecontroleerd. De lijst met groepen moet worden opgegeven in de vorm van een complexe variabele van het type Microsoft.Open.AzureAD.Model.GroupIdsForMembershipCheck. Daarom moeten we eerst een variabele maken met dat type:

Get-MgUserMemberOf -UserId 053a6a7e-4a75-48bc-8324-d70f50ec0d91

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

De geretourneerde waarde is een lijst met groepen waarvan deze gebruiker lid is. U kunt deze methode ook toepassen om het lidmaatschap van contactpersonen, groepen of service-principals te controleren voor een bepaalde lijst met groepen, met behulp van Select-MgGroupIdsContactIsMemberOf, Select-MgGroupIdsGroupIsMemberOf of Select-MgGroupIdsServicePrincipalIsMemberOf

Het maken van groepen door uw gebruikers uitschakelen

U kunt voorkomen dat niet-beheerders beveiligingsgroepen maken. Het standaardgedrag in Microsoft Online Directory Services (MSODS) is om niet-beheerders toe te staan groepen te maken, ongeacht of selfservicegroepsbeheer (SSGM) ook is ingeschakeld. De instelling SSGM bepaalt alleen het gedrag in het Mijn apps toegangsvenster.

Het maken van groepen uitschakelen voor niet-beheerders:

  1. Controleer of niet-beheerders groepen mogen maken:

    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. Als het retourneert EnableGroupCreation : True, kunnen niet-beheerders groepen maken. Ga als volgt te werk om deze functie uit te schakelen:

     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
    
    

Eigenaren van groepen beheren

Als u eigenaren aan een groep wilt toevoegen, gebruikt u de cmdlet New-MgGroupOwner:

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

De parameter -GroupId is de ObjectID van de groep waaraan we een eigenaar willen toevoegen en de -DirectoryObjectId is de ObjectID van de gebruiker of service-principal die we als eigenaar willen toevoegen.

Als u de eigenaren van een groep wilt ophalen, gebruikt u de cmdlet Get-MgGroupOwner:

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

De cmdlet retourneert de lijst met eigenaren (gebruikers en service-principals) voor de opgegeven groep:

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

Als u een eigenaar uit een groep wilt verwijderen, gebruikt u de cmdlet Remove-MgGroupOwnerByRef:

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

Gereserveerde aliassen

Wanneer een groep wordt gemaakt, kunnen bepaalde eindpunten de eindgebruiker een mailNickname of alias opgeven die moet worden gebruikt als onderdeel van het e-mailadres van de groep. Groepen met de volgende zeer bevoorrechte e-mailaliassen kunnen alleen worden gemaakt door een Microsoft Entra Global Beheer istrator. 

  • Misbruik
  • beheerder
  • Beheerder
  • hostmaster
  • majordomo
  • Postmaster
  • Root
  • veilig
  • Beveiliging
  • ssl-admin
  • Webmaster

Terugschrijven van groepen naar on-premises (preview)

Tegenwoordig worden veel groepen nog steeds beheerd in on-premises Active Directory. Als u aanvragen wilt beantwoorden om cloudgroepen terug te synchroniseren naar on-premises, is de functie write-back van Microsoft 365-groepen voor Microsoft Entra-id nu beschikbaar voor preview.

Microsoft 365-groepen worden gemaakt en beheerd in de cloud. Met de mogelijkheid voor terugschrijven kunt u Microsoft 365-groepen terugschrijven als distributiegroepen naar een Active Directory-forest waarop Exchange is geïnstalleerd. Gebruikers met on-premises Exchange-postvakken kunnen vervolgens e-mailberichten van deze groepen verzenden en ontvangen. De functie voor het terugschrijven van groepen biedt geen ondersteuning voor Microsoft Entra-beveiligingsgroepen of distributiegroepen.

Raadpleeg de documentatie voor de Microsoft Entra Verbinding maken Sync-service voor meer informatie.

Write-back van Microsoft 365-groepen is een openbare preview-functie van Microsoft Entra-id en is beschikbaar met elk betaald Microsoft Entra ID-licentieabonnement. Zie Universele licentievoorwaarden voor onlineservices voor meer informatie over previews.

Volgende stappen

Meer documentatie over Azure Active Directory PowerShell vindt u in Microsoft Entra Cmdlets.