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:
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
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.