Kelola kelompok

Dalam artikel ini, Anda mempelajari cara mengelola grup di Microsoft Entra ID menggunakan Microsoft Entra PowerShell. Contohnya termasuk membuat dan memperbarui grup, menambahkan pengguna dan pemilik, mengkueri grup tanpa pemilik, dan kosong.

Prasyarat

Membuat grup

Untuk membuat grup, pastikan Anda memiliki izin yang diperlukan untuk membuat grup.

Connect-Entra -Scopes 'Group.ReadWrite.All' 

Untuk membuat grup baru, jalankan perintah berikut.

$groupParams = @{
    DisplayName = 'Contoso marketing'
    MailEnabled = $false
    SecurityEnabled = $true
    MailNickName = 'NotSet'
}
New-EntraGroup @groupParams
DisplayName  Id                                   MailNickname Description GroupTypes
-----------  --                                   ------------ ----------- ----------
Contoso marketing aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet                   {}

Perintah ini membuat grup baru dengan nama Contoso marketing.

Cari grup yang dibuat dengan menggunakan perintah berikut.

Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
DisplayName        Id                                   MailNickname     Description        GroupTypes
-----------        --                                   ------------     -----------        ----------
Contoso marketing       aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet       Contoso marketing EMEA        {}

Perintah ini mengembalikan detail grup yang baru dibuat. Anda juga dapat menggunakan GroupId (GUID) untuk mencari, memperbarui, atau menghapus grup.

Memperbarui detail grup

Perbarui deskripsi grup dengan menjalankan perintah berikut.

Get-EntraGroup -Filter "displayName eq 'Contoso marketing'" | Set-EntraGroup -Description 'Contoso marketing Global'

Untuk mengonfirmasi deskripsi yang diperbarui, jalankan lagi Get-EntraGroup .

Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"  

Menambahkan pengguna ke grup

Tambahkan pengguna ke grup dengan menjalankan perintah berikut. GroupId adalah ID Grup dan MemberId adalah ID Pengguna. Anda bisa mendapatkan ID Pengguna dari pusat admin Microsoft Entra atau dengan menjalankan perintah Get-EntraUser.

$group = Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
$user = Get-EntraUser -UserId 'SawyerM@contoso.com'
Add-EntraGroupMember -GroupId $group.Id -MemberId $user.Id

Untuk mengambil anggota grup, gunakan perintah :

$group = Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
Get-EntraGroup -GroupId $group.Id | Get-EntraGroupMember | Select-Object Id, DisplayName, '@odata.type' 
Id                                   DisplayName       @odata.type                     
------------------------------------ ----------------- -------------------------------
dddddddd-3333-4444-5555-eeeeeeeeeeee Sawyer Miller     #microsoft.graph.user
eeeeeeee-4444-5555-6666-ffffffffffff Alex Wilber       #microsoft.graph.user
aaaaaaaa-6666-7777-8888-bbbbbbbbbbbb My Application    #microsoft.graph.servicePrincipal
cccccccc-8888-9999-0000-dddddddddddd Contoso Group     #microsoft.graph.group

Menambahkan pengguna sebagai pemilik grup

Tambahkan pemilik grup ke grup dengan menjalankan perintah berikut. GroupId adalah ID Grup dan OwnerId adalah ID Pengguna.

$group = Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
$owner = Get-EntraUser -UserId 'AdeleV@contoso.com'
Add-EntraGroupOwner -GroupId $group.Id -OwnerId $owner.Id

Untuk mengonfirmasi pemilik grup yang diperbarui, gunakan perintah :

$group = Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"
Get-EntraGroup -GroupId $group.Id | Get-EntraGroupOwner | Select-Object Id, DisplayName, '@odata.type'
Id                                   DisplayName       @odata.type
------------------------------------ ----------------- ---------------------------
aaaaaaaa-6666-7777-8888-bbbbbbbbbbbb Adele Vance       #microsoft.graph.user

Kueri tanpa pemilik atau grup kosong

Untuk mengkueri grup tanpa pemilik, jalankan perintah berikut.

$allGroups = Get-EntraGroup -All
$groupsWithoutOwners = foreach ($group in $allGroups) {
    $owners = Get-EntraGroupOwner -GroupId $group.Id
    if ($owners.Count -eq 0) {
        $group
    }
}
$groupsWithoutOwners | Format-Table DisplayName, Id, GroupTypes
DisplayName              Id                                   GroupTypes
-----------              --                                   ----------
Contoso marketing        aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb {}
HelpDesk admin group     eeeeeeee-4444-5555-6666-ffffffffffff {}

Untuk mengkueri grup tanpa anggota (grup kosong), jalankan perintah berikut.

$allGroups = Get-EntraGroup -All
$groupsWithoutMembers = foreach ($group in $allGroups) {
    $members = Get-EntraGroupMember -GroupId $group.Id
    if ($members.Count -eq 0) {
        $group
    }
}
$groupsWithoutMembers | Format-Table DisplayName, Id, GroupTypes
DisplayName             Id                                   GroupTypes
-----------            --                                   ----------
Contoso marketing      aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb {}
HelpDesk admin group   eeeeeeee-4444-5555-6666-ffffffffffff {}

Membersihkan sumber daya

Untuk menghapus grup, gunakan perintah :

Get-EntraGroup -Filter "displayName eq 'Contoso marketing'" | Remove-EntraGroup