Grup yönetimi için Microsoft Entra sürüm 2 cmdlet'leri

Bu makale, Microsoft Entra'nın bir parçası olan Microsoft Entra Id'de gruplarınızı yönetmek için PowerShell'in nasıl kullanılacağına örnekler içerir. Ayrıca Microsoft Graph PowerShell modülünü nasıl ayarlayabileceğinizi de bildirir. İlk olarak Microsoft Graph PowerShell modülünü indirmeniz gerekir.

Microsoft Graph PowerShell modülünü yükleme

MgGroup PowerShell modülünü yüklemek için aşağıdaki komutları kullanın:

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

Modülün kullanıma hazır olduğunu doğrulamak için aşağıdaki komutu kullanın:

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…

Artık modüldeki cmdlet'leri kullanmaya başlayabilirsiniz. Microsoft Graph modülündeki cmdlet'lerin tam açıklaması için Microsoft Graph PowerShell için çevrimiçi başvuru belgelerine bakın.

Dizine bağlanma

Microsoft Graph PowerShell cmdlet'lerini kullanarak grupları yönetmeye başlamadan önce, PowerShell oturumunuzu yönetmek istediğiniz dizine bağlamanız gerekir. Aşağıdaki komutu kullanın:

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

Cmdlet dizininize erişmek için kullanmak istediğiniz kimlik bilgilerini ister. Bu örnekte, tanıtım dizinine erişmek için kullanıyoruz karen@drumkit.onmicrosoft.com . Cmdlet, oturumun dizininize başarıyla bağlandığını gösteren bir onay döndürür:

    Welcome To Microsoft Graph!

Artık dizininizdeki grupları yönetmek için MgGraph cmdlet'lerini kullanmaya başlayabilirsiniz.

Grupları alma

Dizininizden mevcut grupları almak için Get-MgGroups cmdlet'ini kullanın.

Dizindeki tüm grupları almak için cmdlet'ini parametresiz kullanın:

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

Cmdlet, bağlı dizindeki tüm grupları döndürür.

Grubun objectID değerini belirttiğiniz belirli bir grubu almak için -GroupId parametresini kullanabilirsiniz:

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

Cmdlet şimdi objectID değeri girdiğiniz parametrenin değeriyle eşleşen grubu döndürür:

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

-filter parametresini kullanarak belirli bir grubu arayabilirsiniz. Bu parametre bir ODATA filtre yan tümcesi alır ve aşağıdaki örnekte olduğu gibi filtreyle eşleşen tüm grupları döndürür:

    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

Not

MgGroup PowerShell cmdlet'leri OData sorgu standardını uygular. Daha fazla bilgi için bkz. OData uç noktasını kullanarak OData sistem sorgusu seçeneklerinde $filter.

Burada, süre sonu ilkesi uygulanmamış tüm grupların nasıl çekildiğini gösteren bir örneğiniz var

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

Bu örnek öncekiyle aynı işlemi yapar, ancak betik sonuçları CSV'ye de aktarır.

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

Bu son örnek, yalnızca Teams'e ait grupları nasıl alabileceğinizi gösterir

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

Grup oluşturma

Dizininizde yeni bir grup oluşturmak için New-MgGroup cmdlet'ini kullanın. Bu cmdlet "Marketing" adlı yeni bir güvenlik grubu oluşturur:

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

New-MgGroup @param

Grupları güncelleştirme

Mevcut bir grubu güncelleştirmek için Update-MgGroup cmdlet'ini kullanın. Bu örnekte, "Intune Yöneticileri" grubunun DisplayName özelliğini değiştiriyoruz. İlk olarak Get-MgGroup cmdlet'ini kullanarak grubu buluyoruz ve DisplayName özniteliğini kullanarak filtreleyeceğiz:

    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

Ardından Description özelliğini yeni "Intune Cihaz Yöneticileri" değerine değiştireceğiz:

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

Şimdi grubu yeniden bulursak Description özelliğinin yeni değeri yansıtacak şekilde güncelleştirildiğini görürüz:

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

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

Grupları silme

Grupları dizininizden silmek için Remove-MgGroup cmdlet'ini aşağıdaki gibi kullanın:

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

Grup üyeliğini yönetme

Üye ekle

Gruba yeni üyeler eklemek için New-MgGroupMember cmdlet'ini kullanın. Bu komut, önceki örnekte kullandığımız Intune Yöneticileri grubuna bir üye ekler:

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

-GroupId parametresi, üye eklemek istediğimiz grubun ObjectID değeridir ve -DirectoryObjectId, gruba üye olarak eklemek istediğimiz kullanıcının ObjectID değeridir.

Üye alma

Bir grubun mevcut üyelerini almak için, aşağıdaki örnekte olduğu gibi Get-MgGroupMember cmdlet'ini kullanın:

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

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

Üyeleri kaldırma

Gruba daha önce eklediğimiz üyeyi kaldırmak için, burada gösterildiği gibi Remove-MgGroupMember cmdlet'ini kullanın:

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

Üyeleri doğrulama

Bir kullanıcının grup üyeliklerini doğrulamak için Select-MgGroupIdsUserIsMemberOf cmdlet'ini kullanın. Bu cmdlet, parametre olarak grup üyeliklerinin denetlendiği kullanıcının ObjectId değerini ve üyeliklerin denetlendiği grupların listesini alır. Grup listesi "Microsoft.Open.AzureAD.Model.GroupIdsForMembershipCheck" türünde karmaşık bir değişken biçiminde sağlanmalıdır, bu nedenle önce bu türe sahip bir değişken oluşturmalıyız:

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

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

Döndürülen değer, bu kullanıcının üye olduğu grupların listesidir. Bu yöntemi, Select-MgGroupIdsContactIsMemberOf, Select-MgGroupIdsGroupIsMemberOf veya Select-MgGroupIdsServicePrincipalIsMemberOf kullanarak belirli bir grup listesi için Kişiler, Gruplar veya Hizmet Sorumluları üyeliğini denetlemek için de uygulayabilirsiniz

Kullanıcılarınız tarafından grup oluşturmayı devre dışı bırakma

Yönetici olmayan kullanıcıların güvenlik grupları oluşturmasını engelleyebilirsiniz. Microsoft Çevrimiçi Dizin Hizmetleri'nde (MSODS) varsayılan davranış, self servis grup yönetiminin (SSGM) de etkinleştirilip etkinleştirilmediğine bakılmaksızın yönetici olmayan kullanıcıların grup oluşturmasına izin vermektir. SSGM ayarı yalnızca Gruplarım portalında davranışı denetler.

Yönetici olmayan kullanıcılar için grup oluşturmayı devre dışı bırakmak için:

  1. Yönetici olmayan kullanıcıların grup oluşturmasına izin verildiğini doğrulayın:

    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. döndürürse EnableGroupCreation : True, yönetici olmayan kullanıcılar grup oluşturabilir. Bu özelliği devre dışı bırakmak için:

     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
    
    

Grup sahiplerini yönetme

Gruba sahip eklemek için New-MgGroupOwner cmdlet'ini kullanın:

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

-GroupId parametresi, sahip eklemek istediğimiz grubun ObjectID değeridir ve -DirectoryObjectId, sahip olarak eklemek istediğimiz kullanıcı veya hizmet sorumlusunun ObjectID değeridir.

Bir grubun sahiplerini almak için Get-MgGroupOwner cmdlet'ini kullanın:

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

Cmdlet, belirtilen grup için sahiplerin (kullanıcılar ve hizmet sorumluları) listesini döndürür:

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

Gruptan sahip kaldırmak istiyorsanız Remove-MgGroupOwnerByRef cmdlet'ini kullanın:

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

Ayrılmış diğer adlar

Bir grup oluşturulduğunda, bazı uç noktalar son kullanıcının grubun e-posta adresinin bir parçası olarak kullanılacak mailNickname veya diğer ad belirtmesine olanak tanır. Aşağıdaki yüksek ayrıcalıklı e-posta diğer adlarına sahip gruplar yalnızca bir Microsoft Entra Genel Yöneticisi tarafından oluşturulabilir. 

  • suiistimal
  • yönetici
  • Yönetici
  • hostmaster
  • majordomo
  • Postmaster
  • kök
  • güvenli
  • güvenlik
  • ssl-admin
  • web yöneticisi

Şirket içi grup geri yazma

Bugün, birçok grup hala şirket içi Active Directory yönetilmektedir. Bulut gruplarını şirket içiyle yeniden eşitleme isteklerini yanıtlamak için, Microsoft Entra bulut eşitlemesini kullanarak Microsoft Entra Id için gruplar geri yazma özelliği artık kullanılabilir.

Önemli

Microsoft Entra Connect Sync'te Grup Geri Yazma v2'nin genel önizlemesi 30 Haziran 2024'te kullanıma sunulmayacaktır. Bu özellik bu tarihte sona erecek ve artık Active Directory'ye bulut güvenlik grupları sağlamak için Connect Sync'te desteklenmeyecektir. Özellik, kullanımdan kaldırma tarihinden sonra çalışmaya devam edecektir ancak bu tarihten sonra artık destek almayacaktır ve herhangi bir bildirimde bulunmadan herhangi bir zamanda çalışmayı durdurabilecektir.

Microsoft Entra Cloud Sync'te, Active Directory'ye Grup Sağlama adı verilen ve bulut güvenlik gruplarını Active Directory'ye sağlamak için Grup Geri Yazma v2 yerine kullanabileceğiniz benzer işlevler sunuyoruz. Cloud Sync'te geliştirdiğimiz diğer yeni özelliklerle birlikte Cloud Sync'te bu işlevselliği geliştirmek için çalışıyoruz.

Connect Sync'te bu önizleme özelliğini kullanan müşteriler, yapılandırmalarını Connect Sync'ten Cloud Sync'e geçirmelidir. (Gereksinimlerinizi destekliyorsa) tüm karma eşitlemenizi Cloud Sync'e taşımayı seçebilirsiniz. Ayrıca Cloud Sync'i yan yana çalıştırabilir ve yalnızca bulut güvenlik grubu sağlamayı Active Directory'de Cloud Sync'e taşıyabilirsiniz.

Active Directory'ye Microsoft 365 grupları sağlayan müşteriler için bu özellik için Grup Geri Yazma v1'i kullanmaya devam edebilirsiniz.

Kullanıcı eşitleme sihirbazını kullanarak yalnızca Cloud Sync'e geçişi değerlendirebilirsiniz.

Sonraki adımlar

Microsoft Entra Cmdlet'leri sayfasında daha fazla Azure Active Directory PowerShell belgesi bulabilirsiniz.