그룹 관리

이 문서에서는 Microsoft Entra PowerShell을 사용하여 Microsoft Entra ID 그룹을 관리하는 방법에 대해 알아봅니다. 예를 들어 그룹 만들기 및 업데이트, 사용자 및 소유자 추가, 소유자가 없는 쿼리 및 빈 그룹 등이 있습니다.

사전 요구 사항

그룹 만들기

그룹을 만들려면 그룹을 만드는 데 필요한 권한이 있는지 확인합니다.

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

새 그룹을 만들려면 다음 명령을 실행합니다.

$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                   {}

이 명령은 이름을 Contoso marketing가진 새 그룹을 만듭니다.

다음 명령을 사용하여 만든 그룹을 검색합니다.

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

이 명령은 새로 만든 그룹의 세부 정보를 반환합니다. (GUID)를 GroupId 사용하여 그룹을 검색, 업데이트 또는 삭제할 수도 있습니다.

그룹 세부 정보 업데이트

다음 명령을 실행하여 그룹 설명을 업데이트합니다.

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

업데이트된 설명을 확인하려면 Get-EntraGroup 을 다시 실행합니다.

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

그룹에 사용자 추가

다음 명령을 실행하여 그룹에 사용자를 추가합니다. GroupId 그룹 ID이며 MemberId 사용자 ID입니다. Microsoft Entra 관리 센터 또는 Get-EntraUser 명령을 실행하여 사용자 ID를 가져올 수 있습니다.

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

그룹 멤버를 검색하려면 다음 명령을 사용합니다.

$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

사용자를 그룹 소유자로 추가

다음 명령을 실행하여 그룹에 그룹 소유자를 추가합니다. GroupId 그룹 ID이며 OwnerId 사용자 ID입니다.

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

업데이트된 그룹 소유자를 확인하려면 다음 명령을 사용합니다.

$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

소유자 없는 그룹 또는 빈 그룹 쿼리

소유자 없이 그룹을 쿼리하려면 다음 명령을 실행합니다.

$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 {}

멤버가 없는 그룹(빈 그룹)을 쿼리하려면 다음 명령을 실행합니다.

$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 {}

자원을 정리하세요

그룹을 제거하려면 다음 명령을 사용합니다.

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