Microsoft Entra version 2-cmdletar för grupphantering
Den här artikeln innehåller exempel på hur du använder PowerShell för att hantera dina grupper i Microsoft Entra ID, en del av Microsoft Entra. Den visar också hur du konfigurerar med Microsoft Graph PowerShell-modulen. Först måste du ladda ned Microsoft Graph PowerShell-modulen.
Installera Microsoft Graph PowerShell-modulen
Om du vill installera MgGroup PowerShell-modulen använder du följande kommandon:
PS C:\Windows\system32> Install-module Microsoft.Graph
Använd följande kommando för att kontrollera att modulen är redo att användas:
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…
Nu kan du börja använda cmdletarna i modulen. En fullständig beskrivning av cmdletarna i Microsoft Graph-modulen finns i onlinereferensdokumentationen för Microsoft Graph PowerShell.
Ansluta till katalogen
Innan du kan börja hantera grupper med Microsoft Graph PowerShell-cmdletar måste du ansluta PowerShell-sessionen till den katalog som du vill hantera. Ange följande kommando:
PS C:\Windows\system32> Connect-MgGraph -Scopes "Group.ReadWrite.All"
Cmdleten uppmanar dig att ange de autentiseringsuppgifter som du vill använda för att komma åt din katalog. I det här exemplet använder karen@drumkit.onmicrosoft.com vi för att komma åt demonstrationskatalogen. Cmdleten returnerar en bekräftelse för att visa att sessionen har anslutits till din katalog:
Welcome To Microsoft Graph!
Nu kan du börja använda MgGraph-cmdletar för att hantera grupper i din katalog.
Hämta grupper
Om du vill hämta befintliga grupper från din katalog använder du cmdleten Get-MgGroups.
Om du vill hämta alla grupper i katalogen använder du cmdleten utan parametrar:
PS C:\Windows\system32> Get-MgGroup -All
Cmdleten returnerar alla grupper i den anslutna katalogen.
Du kan använda parametern -GroupId för att hämta en specifik grupp som du anger gruppens objectID för:
PS C:\Windows\system32> Get-MgGroup -GroupId 5e3eba05-6c2b-4555-9909-c08e997aab18 | fl
Cmdleten returnerar nu den grupp vars objectID matchar värdet för parametern som du angav:
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
Du kan söka efter en specifik grupp med parametern -filter. Den här parametern tar en ODATA-filtersats och returnerar alla grupper som matchar filtret, som i följande exempel:
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
Kommentar
MgGroup PowerShell-cmdletarna implementerar OData-frågestandarden. Mer information finns i $filter i OData-systemfrågealternativ med hjälp av OData-slutpunkten.
Här har du ett exempel som visar hur du hämtar alla grupper som inte har en förfalloprincip tillämpad
Connect-MgGraph -Scopes 'Group.Read.All'
Get-MgGroup -ConsistencyLevel eventual -Count groupCount -Filter "NOT (expirationDateTime+ge+1900-01-01T00:00:00Z)" | Format-List Id
Det här exemplet gör samma sak som det föregående, men skriptet exporterar även resultatet till 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
Det här sista exemplet visar hur du endast hämtar grupper som tillhör 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
Skapa grupper
Om du vill skapa en ny grupp i katalogen använder du cmdleten New-MgGroup. Den här cmdleten skapar en ny säkerhetsgrupp med namnet "Marketing":
$param = @{
description="My Demo Group"
displayName="DemoGroup"
mailEnabled=$false
securityEnabled=$true
mailNickname="Demo"
}
New-MgGroup @param
Uppdatera grupper
Om du vill uppdatera en befintlig grupp använder du cmdleten Update-MgGroup. I det här exemplet ändrar vi egenskapen DisplayName för gruppen "Intune-administratörer". Först letar vi upp gruppen med cmdleten Get-MgGroup och filtrerar med attributet 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
Nu ändrar vi egenskapen Description till det nya värdet "Intune Device Administrators":
PS C:\Windows\system32> Update-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b -Description "Demo Group Updated"
Om vi nu hittar gruppen igen ser vi att egenskapen Description uppdateras för att återspegla det nya värdet:
PS C:\Windows\system32> Get-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b | select displayname, description
DisplayName Description
----------- -----------
DemoGroup Demo Group Updated
Ta bort grupper
Om du vill ta bort grupper från din katalog använder du cmdleten Remove-MgGroup enligt följande:
PS C:\Windows\system32> Remove-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b
Hantera gruppmedlemskap
Lägg till medlemmar
Om du vill lägga till nya medlemmar i en grupp använder du cmdleten New-MgGroupMember. Det här kommandot lägger till en medlem i gruppen Intune-administratörer som vi använde i föregående exempel:
PS C:\Windows\system32> New-MgGroupMember -GroupId f76cbbb8-0581-4e01-a0d4-133d3ce9197f -DirectoryObjectId a88762b7-ce17-40e9-b417-0add1848eb68
Parametern -GroupId är ObjectID för den grupp som vi vill lägga till en medlem i, och -DirectoryObjectId är ObjectID för den användare som vi vill lägga till som medlem i gruppen.
Hämta medlemmar
Om du vill hämta befintliga medlemmar i en grupp använder du cmdleten Get-MgGroupMember, som i det här exemplet:
PS C:\Windows\system32> Get-MgGroupMember -GroupId 2c52c779-8587-48c5-9d4a-c474f2a66cf4
Id DeletedDateTime
-- ---------------
aaaaaaaa-bbbb-cccc-1111-222222222222
bbbbbbbb-cccc-dddd-2222-333333333333
Ta bort medlemmar
Om du vill ta bort medlemmen som vi tidigare lade till i gruppen använder du cmdleten Remove-MgGroupMember, som visas här:
PS C:\Windows\system32> Remove-MgGroupMemberByRef -DirectoryObjectId 00aa00aa-bb11-cc22-dd33-44ee44ee44ee -GroupId 2c52c779-8587-48c5-9d4a-c474f2a66cf4
Verifiera medlemmar
Om du vill verifiera gruppmedlemskapen för en användare använder du cmdleten Select-MgGroupIdsUserIsMemberOf. Den här cmdleten tar som parametrar ObjectId för den användare som du vill kontrollera gruppmedlemskapen för och en lista över grupper som medlemskapen ska kontrolleras för. Listan över grupper måste anges i form av en komplex variabel av typen "Microsoft.Open.AzureAD.Model.GroupIdsForMembershipCheck", så vi måste först skapa en variabel med den typen:
Get-MgUserMemberOf -UserId 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
Id DisplayName Description GroupTypes AccessType
-- ----------- ----------- ---------- ----------
5dc16449-3420-4ad5-9634-49cd04eceba0 demogroup demogroup {Unified}
Värdet som returneras är en lista över grupper som användaren är medlem i. Du kan också använda den här metoden för att kontrollera medlemskapet i Kontakter, Grupper eller Tjänstens huvudnamn för en viss lista över grupper med hjälp av Select-MgGroupIdsContactIsMemberOf, Select-MgGroupIdsGroupIsMemberOf eller Select-MgGroupIdsServicePrincipalIsMemberOf
Inaktivera gruppskapande av dina användare
Du kan förhindra att icke-administratörsanvändare skapar säkerhetsgrupper. Standardbeteendet i Microsoft Online Directory Services (MSODS) är att tillåta icke-administratörsanvändare att skapa grupper, oavsett om grupphantering via självbetjäning (SSGM) också är aktiverat. SSGM-inställningen styr endast beteendet i portalen Mina grupper.
Så här inaktiverar du gruppskapande för icke-administratörsanvändare:
Kontrollera att icke-administratörsanvändare får skapa grupper:
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
Om den returnerar
EnableGroupCreation : True
kan användare som inte är administratörer skapa grupper. Så här inaktiverar du den här funktionen: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
Hantera ägare av grupper
Om du vill lägga till ägare i en grupp använder du cmdleten New-MgGroupOwner:
PS C:\Windows\system32> New-MgGroupOwner -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497 -DirectoryObjectId 92a0dad0-7c9e-472f-b2a3-0fe2c9a02867
Parametern -GroupId är ObjectID för den grupp som vi vill lägga till en ägare till, och -DirectoryObjectId är ObjectID för användaren eller tjänstens huvudnamn som vi vill lägga till som ägare.
Om du vill hämta ägarna till en grupp använder du cmdleten Get-MgGroupOwner:
PS C:\Windows\system32> Get-MgGroupOwner -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497
Cmdleten returnerar listan över ägare (användare och tjänstens huvudnamn) för den angivna gruppen:
Id DeletedDateTime
-- ---------------
8ee754e0-743e-4231-ace4-c28d20cf2841
85b1df54-e5c0-4cfd-a20b-8bc1a2ca7865
4451b332-2294-4dcf-a214-6cc805016c50
Om du vill ta bort en ägare från en grupp använder du cmdleten Remove-MgGroupOwnerByRef:
PS C:\Windows\system32> Remove-MgGroupOwnerByRef -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497 -DirectoryObjectId 92a0dad0-7c9e-472f-b2a3-0fe2c9a02867
Reserverade alias
När en grupp skapas tillåter vissa slutpunkter att slutanvändaren anger ett mailNickname eller alias som ska användas som en del av gruppens e-postadress. Grupper med följande högprivilegierade e-postalias kan bara skapas av en global Microsoft Entra-administratör.
- missbruk
- administratör
- administratör
- hostmaster
- majordomo
- postmästare
- rot
- säker
- Säkerhet
- ssl-admin
- webmaster
Gruppera tillbakaskrivning till lokal plats
Idag hanteras många grupper fortfarande i lokalni Active Directory. För att besvara begäranden om att synkronisera molngrupper tillbaka till lokal plats är funktionen för tillbakaskrivning av grupper för Microsoft Entra-ID med Microsoft Entra-molnsynkronisering nu tillgänglig.
Viktigt!
Den offentliga förhandsversionen av Tillbakaskrivning av grupp v2 i Microsoft Entra Connect Sync kommer inte längre att vara tillgänglig efter den 30 juni 2024. Den här funktionen upphör den här dagen och kommer inte längre att stödjas i Connect Sync för att etablera molnsäkerhetsgrupper i Active Directory. Funktionen fortsätter att fungera efter utfasningsdatumet. Den får dock inte längre support efter detta datum och kan när som helst sluta fungera utan föregående meddelande.
Vi erbjuder liknande funktioner i Microsoft Entra Cloud Sync med namnet Gruppetablering till Active Directory som du kan använda i stället för Grupptillbakaskrivning v2 för etablering av molnsäkerhetsgrupper till Active Directory. Vi arbetar med att förbättra den här funktionen i Cloud Sync tillsammans med andra nya funktioner som vi utvecklar i Cloud Sync.
Kunder som använder den här förhandsfunktionen i Connect Sync bör byta konfiguration från Connect Sync till Cloud Sync. Du kan välja att flytta all din hybridsynkronisering till Cloud Sync (om den stöder dina behov). Du kan även köra Cloud Sync sida vid sida och endast flytta etablering av molnsäkerhetsgrupper till Active Directory till Cloud Sync.
För kunder som etablerar Microsoft 365-grupper till Active Directory kan du fortsätta använda Grupptillbakaskrivning v1 för den här kapaciteten.
Du kan utvärdera att flytta exklusivt till Cloud Sync genom att använda användarsynkroniseringsguiden.
Nästa steg
Du hittar mer Azure Active Directory PowerShell-dokumentation på Microsoft Entra-cmdletar.