Dela via


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:

  1. 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
    
  2. Om den returnerar EnableGroupCreation : Truekan 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 lokal 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.