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 met 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 : 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
Notitie
De MgGroup PowerShell-cmdlets implementeren de OData-querystandaard. Zie $filter in OData-systeemqueryopties met behulp van het OData-eindpunt voor meer informatie.
Hier ziet u een voorbeeld waarin wordt getoond hoe u alle groepen kunt ophalen waarvoor geen verloopbeleid is toegepast
Connect-MgGraph -Scopes 'Group.Read.All'
Get-MgGroup -ConsistencyLevel eventual -Count groupCount -Filter "NOT (expirationDateTime+ge+1900-01-01T00:00:00Z)" | Format-List Id
Dit voorbeeld doet hetzelfde als de vorige, maar het script exporteert ook de resultaten naar 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 dit laatste voorbeeld ziet u hoe u alleen groepen ophaalt die deel uitmaken van Teams
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
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-beheerders. 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 : 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
Vervolgens wijzigen we de eigenschap Beschrijving in de nieuwe waarde Intune-apparaatbeheerders:
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
Als u nieuwe leden aan een groep wilt toevoegen, gebruikt u de cmdlet New-MgGroupMember. Met deze opdracht wordt een lid toegevoegd aan de Groep Intune-beheerders 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
-- ---------------
aaaaaaaa-bbbb-cccc-1111-222222222222
bbbbbbbb-cccc-dddd-2222-333333333333
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 00aa00aa-bb11-cc22-dd33-44ee44ee44ee -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 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
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 de portal Mijn groepen.
Het maken van groepen uitschakelen voor niet-beheerders:
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
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 globale beheerder van Microsoft Entra.
- misbruik
- beheerder
- administrateur
- hostmaster
- majordomo
- Postmaster
- wortel
- veilig
- Beveiliging
- ssl-admin
- webmaster
Terugschrijven van groepen naar on-premises
Tegenwoordig worden veel groepen nog steeds beheerd in on-premises Active Directory. Als u aanvragen wilt beantwoorden om cloudgroepen weer te synchroniseren naar on-premises, is de functie voor het terugschrijven van groepen voor Microsoft Entra-id met behulp van Microsoft Entra-cloudsynchronisatie nu beschikbaar.
Belangrijk
De openbare preview van Group Writeback v2 in Microsoft Entra Connect Sync is na 30 juni 2024 niet meer beschikbaar. Deze functie wordt op deze datum stopgezet en u wordt niet meer ondersteund in Connect Sync voor het inrichten van cloudbeveiligingsgroepen naar Active Directory. De functie blijft actief na de beëindigingsdatum; het zal echter na deze datum geen ondersteuning meer ontvangen en kan op elk moment zonder kennisgeving ophouden met functioneren.
We bieden vergelijkbare functionaliteit in Microsoft Entra Cloud Sync genaamd Group Provision naar Active Directory die u kunt gebruiken in plaats van Group Writeback v2 voor het inrichten van cloudbeveiligingsgroepen voor Active Directory. We werken aan het verbeteren van deze functionaliteit in Cloud Sync, samen met andere nieuwe functies die we ontwikkelen in Cloud Sync.
Klanten die deze preview-functie in Connect Sync gebruiken, moeten hun configuratie omschakelen van Connect Sync naar Cloud Sync. U kunt ervoor kiezen om al uw hybride synchronisatie naar Cloud Sync te verplaatsen (als deze ondersteuning biedt voor uw behoeften). U kunt Cloud Sync ook naast elkaar uitvoeren en alleen inrichting van cloudbeveiligingsgroepen naar Active Directory verplaatsen naar Cloud Sync.
Voor klanten die Microsoft 365-groepen inrichten voor Active Directory, kunt u Group Writeback v1 blijven gebruiken voor deze mogelijkheid.
U kunt het verplaatsen naar Cloud Sync evalueren met behulp van de wizard gebruikerssynchronisatie.
Volgende stappen
Meer documentatie over Azure Active Directory PowerShell vindt u in Microsoft Entra Cmdlets.