Bagikan melalui


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:

  1. 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
    
  2. 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.