Cmdlet Microsoft Entra versi 2 untuk manajemen grup
Artikel ini berisi contoh cara menggunakan PowerShell untuk mengelola grup Anda di ID Microsoft Entra, bagian dari Microsoft Entra. Ini juga memberi tahu Anda cara menyiapkan modul Microsoft Graph PowerShell. Pertama, Anda harus mengunduh modul Microsoft Graph PowerShell.
Menginstal modul Microsoft Graph PowerShell
Untuk menginstal modul MgGroup PowerShell, gunakan perintah berikut:
PS C:\Windows\system32> Install-module Microsoft.Graph
Untuk memverifikasi bahwa modul siap digunakan, gunakan perintah berikut:
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…
Sekarang Anda dapat mulai menggunakan cmdlet dalam modul. Untuk deskripsi lengkap cmdlet dalam modul Microsoft Graph, lihat dokumentasi referensi online untuk Microsoft Graph PowerShell.
Menyambungkan ke direktori
Sebelum dapat mulai mengelola grup menggunakan cmdlet Microsoft Graph PowerShell, Anda harus menyambungkan sesi PowerShell ke direktori yang ingin Anda kelola. Gunakan perintah berikut:
PS C:\Windows\system32> Connect-MgGraph -Scopes "Group.ReadWrite.All"
Cmdlet meminta info masuk yang ingin Anda gunakan untuk mengakses direktori Anda. Dalam contoh ini, kami menggunakan karen@drumkit.onmicrosoft.com untuk mengakses direktori demonstrasi. Cmdlet mengembalikan konfirmasi untuk memperlihatkan bahwa sesi berhasil disambungkan ke direktori Anda:
Welcome To Microsoft Graph!
Sekarang Anda dapat mulai menggunakan cmdlet MgGraph untuk mengelola grup di direktori Anda.
Mengambil grup
Untuk mengambil grup yang ada dari direktori Anda, gunakan cmdlet Get-MgGroups.
Untuk mengambil semua grup dalam direktori, gunakan cmdlet tanpa parameter:
PS C:\Windows\system32> Get-MgGroup -All
Cmdlet mengembalikan semua grup dalam direktori yang terhubung.
Anda dapat menggunakan parameter -GroupId untuk mengambil grup tertentu yang Anda tentukan objectID grupnya:
PS C:\Windows\system32> Get-MgGroup -GroupId 5e3eba05-6c2b-4555-9909-c08e997aab18 | fl
Cmdlet sekarang mengembalikan grup yang objectID-nya cocok dengan nilai parameter yang Anda masukkan:
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
Anda dapat mencari grup tertentu menggunakan parameter -filter. Parameter ini mengambil klausa filter ODATA dan mengembalikan semua grup yang cocok dengan filter, seperti dalam contoh berikut:
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
Catatan
Cmdlet PowerShell MgGroup menerapkan standar kueri OData. Untuk mengetahui informasi selengkapnya, lihat $filter di opsi kueri sistem OData menggunakan titik akhir OData.
Di sini Anda memiliki contoh yang menunjukkan cara menarik semua grup yang tidak memiliki kebijakan kedaluwarsa yang diterapkan
Connect-MgGraph -Scopes 'Group.Read.All'
Get-MgGroup -ConsistencyLevel eventual -Count groupCount -Filter "NOT (expirationDateTime+ge+1900-01-01T00:00:00Z)" | Format-List Id
Contoh ini melakukan hal yang sama seperti sebelumnya, tetapi skrip juga mengekspor hasilnya ke 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
Contoh terakhir ini menunjukkan kepada Anda cara mengambil hanya grup yang termasuk dalam 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
Membuat grup
Untuk membuat grup baru di direktori Anda, gunakan cmdlet New-MgGroup. Cmdlet ini membuat grup keamanan baru yang disebut "Pemasaran":
$param = @{
description="My Demo Group"
displayName="DemoGroup"
mailEnabled=$false
securityEnabled=$true
mailNickname="Demo"
}
New-MgGroup @param
Perbarui grup
Untuk memperbarui grup yang ada, gunakan cmdlet Update-MgGroup. Dalam contoh ini, kami mengubah properti DisplayName dari grup “Admin Intune”. Pertama, kita menemukan grup menggunakan cmdlet Get-MgGroup dan memfilter menggunakan atribut 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
Selanjutnya, kami mengubah properti Deskripsi ke nilai baru "Admin Perangkat Intune":
PS C:\Windows\system32> Update-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b -Description "Demo Group Updated"
Sekarang, jika kita menemukan grup lagi, kita melihat properti Deskripsi diperbarui untuk mencerminkan nilai baru:
PS C:\Windows\system32> Get-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b | select displayname, description
DisplayName Description
----------- -----------
DemoGroup Demo Group Updated
Hapus grup
Untuk menghapus grup dari direktori Anda, gunakan cmdlet Remove-MgGroup sebagai berikut:
PS C:\Windows\system32> Remove-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b
Mengelola keanggotaan grup
Menambahkan Anggota
Untuk menambahkan anggota baru ke grup, gunakan cmdlet New-MgGroupMember. Perintah ini menambahkan anggota ke grup Admin Intune yang kami gunakan dalam contoh sebelumnya:
PS C:\Windows\system32> New-MgGroupMember -GroupId f76cbbb8-0581-4e01-a0d4-133d3ce9197f -DirectoryObjectId a88762b7-ce17-40e9-b417-0add1848eb68
Parameter -GroupId adalah ObjectID dari grup yang ingin kita tambahkan anggotanya, dan -DirectoryObjectId adalah ObjectID pengguna yang ingin kita tambahkan sebagai anggota ke grup.
Dapatkan anggota
Untuk mendapatkan anggota grup yang ada, gunakan cmdlet Get-MgGroupMember, seperti dalam contoh ini:
PS C:\Windows\system32> Get-MgGroupMember -GroupId 2c52c779-8587-48c5-9d4a-c474f2a66cf4
Id DeletedDateTime
-- ---------------
aaaaaaaa-bbbb-cccc-1111-222222222222
bbbbbbbb-cccc-dddd-2222-333333333333
Hapus anggota
Untuk menghapus anggota yang sebelumnya kami tambahkan ke grup, gunakan cmdlet Remove-MgGroupMember, seperti yang ditunjukkan di sini:
PS C:\Windows\system32> Remove-MgGroupMemberByRef -DirectoryObjectId 00aa00aa-bb11-cc22-dd33-44ee44ee44ee -GroupId 2c52c779-8587-48c5-9d4a-c474f2a66cf4
Memverifikasi anggota
Untuk memverifikasi keanggotaan grup pengguna, gunakan cmdlet Select-MgGroupIdsUserIsMemberOf. Cmdlet ini mengambil sebagai parameternya ObjectId pengguna yang untuk memeriksa keanggotaan grup, dan daftar grup untuk memeriksa keanggotaan. Daftar grup harus disediakan dalam bentuk variabel kompleks tipe "Microsoft.Open.AzureAD.Model.GroupIdsForMembershipCheck", jadi pertama-tama kita harus membuat variabel dengan jenis itu:
Get-MgUserMemberOf -UserId 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
Id DisplayName Description GroupTypes AccessType
-- ----------- ----------- ---------- ----------
5dc16449-3420-4ad5-9634-49cd04eceba0 demogroup demogroup {Unified}
Nilai yang dikembalikan adalah daftar grup di mana pengguna ini adalah anggota. Anda juga dapat menerapkan metode ini untuk memeriksa keanggotaan Kontak, Grup, atau Perwakilan Layanan untuk daftar grup tertentu, menggunakan Select-MgGroupIdsContactIsMemberOf, Select-MgGroupIdsGroupIsMemberOf atau Select-MgGroupIdsServicePrincipalIsMemberOf
Menonaktifkan pembuatan grup oleh pengguna Anda
Anda dapat mencegah pengguna non-admin membuat kelompok keamanan. Perilaku default di Microsoft Online Directory Services (MSODS) adalah untuk memungkinkan pengguna non-admin untuk membuat grup, apakah manajemen grup layanan mandiri (SSGM) juga diaktifkan atau tidak. Pengaturan SSGM hanya mengontrol perilaku di portal Grup Saya.
Untuk menonaktifkan pembuatan grup untuk pengguna non-admin:
Verifikasi bahwa pengguna non-admin diizinkan untuk membuat grup:
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
Jika dikembalikan
EnableGroupCreation : True
, maka pengguna non-admin dapat membuat grup. Untuk menonaktifkan fitur ini: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
Mengelola pemilik grup
Untuk menambahkan pemilik ke grup, gunakan cmdlet New-MgGroupOwner:
PS C:\Windows\system32> New-MgGroupOwner -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497 -DirectoryObjectId 92a0dad0-7c9e-472f-b2a3-0fe2c9a02867
Parameter -GroupId adalah ObjectID dari grup yang ingin kita tambahkan pemiliknya, dan -DirectoryObjectId adalah ObjectID pengguna atau perwakilan layanan yang ingin kita tambahkan sebagai pemilik.
Untuk mengambil pemilik grup, gunakan cmdlet Get-MgGroupOwner:
PS C:\Windows\system32> Get-MgGroupOwner -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497
Cmdlet mengembalikan daftar pemilik (pengguna dan perwakilan layanan) untuk grup yang ditentukan:
Id DeletedDateTime
-- ---------------
8ee754e0-743e-4231-ace4-c28d20cf2841
85b1df54-e5c0-4cfd-a20b-8bc1a2ca7865
4451b332-2294-4dcf-a214-6cc805016c50
Jika Anda ingin menghapus pemilik dari grup, gunakan cmdlet Remove-MgGroupOwnerByRef:
PS C:\Windows\system32> Remove-MgGroupOwnerByRef -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497 -DirectoryObjectId 92a0dad0-7c9e-472f-b2a3-0fe2c9a02867
Alias yang dipesan
Saat grup dibuat, titik akhir tertentu memungkinkan pengguna akhir menentukan mailNickname atau alias untuk digunakan sebagai bagian dari alamat email grup. Grup dengan alias email yang sangat istimewa berikut ini hanya dapat dibuat oleh Administrator Global Microsoft Entra.
- penyalahgunaan
- admin
- administrator
- hostmaster
- majordomo
- postmaster
- akar
- aman
- keamanan
- ssl-admin
- webmaster
Tulis balik grup ke lokal
Saat ini, banyak grup masih dikelola di Direktori Aktif lokal. Untuk menjawab permintaan untuk menyinkronkan grup cloud kembali ke lokal, fitur tulis balik grup untuk ID Microsoft Entra menggunakan sinkronisasi cloud Microsoft Entra sekarang tersedia.
Penting
Pratinjau publik Group Writeback v2 di Sinkronisasi Microsoft Entra Connect tidak akan lagi tersedia setelah 30 Juni 2024. Fitur ini akan dihentikan pada tanggal ini, dan Anda tidak akan lagi didukung di Connect Sync untuk memprovisikan grup keamanan cloud ke Direktori Aktif. Fitur ini akan terus beroperasi di luar tanggal penghentian; namun, ia tidak akan lagi menerima dukungan setelah tanggal ini dan dapat berhenti berfungsi kapan saja tanpa pemberitahuan.
Kami menawarkan fungsionalitas serupa di Microsoft Entra Cloud Sync yang disebut Provisi Grup ke Direktori Aktif yang dapat Anda gunakan alih-alih Group Writeback v2 untuk menyediakan grup keamanan cloud ke Direktori Aktif. Kami sedang berupaya meningkatkan fungsionalitas ini di Cloud Sync bersama dengan fitur baru lainnya yang kami kembangkan di Cloud Sync.
Pelanggan yang menggunakan fitur pratinjau ini di Connect Sync harus mengalihkan konfigurasi mereka dari Connect Sync ke Cloud Sync. Anda dapat memilih untuk memindahkan semua sinkronisasi hibrid Anda ke Cloud Sync (jika mendukung kebutuhan Anda). Anda juga dapat menjalankan Cloud Sync secara berdampingan dan hanya memindahkan provisi grup keamanan cloud ke Direktori Aktif ke Cloud Sync.
Untuk pelanggan yang memprovisikan grup Microsoft 365 ke Direktori Aktif, Anda dapat terus menggunakan Group Writeback v1 untuk kemampuan ini.
Anda dapat mengevaluasi pemindahan secara eksklusif ke Cloud Sync dengan menggunakan wizard sinkronisasi pengguna.
Langkah berikutnya
Anda dapat menemukan lebih banyak dokumentasi Azure Active Directory PowerShell di Microsoft Entra Cmdlets.