이 문서에서는 Microsoft Entra PowerShell을 사용하여 Microsoft Entra ID 그룹을 관리하는 방법에 대해 알아봅니다. 예를 들어 그룹 만들기 및 업데이트, 사용자 및 소유자 추가, 소유자가 없는 쿼리 및 빈 그룹 등이 있습니다.
사전 요구 사항
- Microsoft Entra 사용자 계정. 계정이 아직 없는 경우 계정을 무료로 만들 수 있습니다.
- 최신 Microsoft Entra PowerShell 모듈을 설치합니다. 자세한 내용은 Microsoft Entra PowerShell 모듈 설치를 참조하세요.
- 적어도 그룹 관리자 역할이 있습니다.
그룹 만들기
그룹을 만들려면 그룹을 만드는 데 필요한 권한이 있는지 확인합니다.
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