모든 Exchange cmdlet을 실행하는 데 필요한 사용 권한 찾기
PowerShell을 사용하여 Exchange 또는 Exchange Online cmdlet을 실행하는 데 필요한 사용 권한을 찾을 수 있습니다. 이 절차에서는 조직에 사용자 지정 역할, 사용자 지정 역할 그룹 또는 사용자 지정 역할 할당이 있는 경우 사용자에게 지정된 cmdlet에 대한 액세스 권한을 부여하는 RBAC(역할 기반 액세스 제어) 관리 역할 및 역할 그룹을 보여 줍니다.
팁
현재 이 문서의 절차는 Exchange Online PowerShell의 Microsoft 365 그룹 cmdlet(*-UnifiedGroup)에서 작동하지 않습니다.
시작하기 전에 알아야 할 사항은 무엇인가요?
이 절차의 예상 완료 시간: 5분 미만
PowerShell을 사용하여 이러한 절차만 수행할 수 있습니다.
이 문서의 절차는 보안 & 규정 준수 PowerShell에서 작동하지 않습니다. 보안 & 규정 준수 권한에 대한 자세한 내용은 다음 문서를 참조하세요.
이 문서의 절차를 수행하려면 권한이 할당되어야 합니다. 다음과 같은 옵션을 선택할 수 있습니다.
Exchange Server 권한: 다음 역할 그룹 중 하나의 멤버 자격:
- 준수 관리
- Hygiene Management
- Organization Management
- View-Only Organization Management
Exchange Online 권한: 다음 역할 그룹 중 하나의 멤버 자격:
- 준수 관리
- 위임 설치
- Hygiene Management
- Organization Management
- View-Only Organization Management
Microsoft Entra 권한: 전역 관리자 또는 전역 읽기* 권한자 역할의 멤버 자격은 사용자에게 Microsoft 365의 다른 기능에 필요한 권한과 권한을 제공합니다.
중요
* 사용 권한이 가장 적은 역할을 사용하는 것이 좋습니다. 사용 권한이 낮은 계정을 사용하면 조직의 보안을 개선하는 데 도움이 됩니다. 전역 관리자는 기존 역할을 사용할 수 없는 경우 긴급 시나리오로 제한해야 하는 매우 권한 있는 역할입니다.
PowerShell을 사용하여 cmdlet을 실행하는 데 필요한 사용 권한 찾기
아직 열려 있지 않은 경우 관심 있는 Exchange PowerShell 환경을 엽니다.
- Exchange Online: Exchange Online PowerShell에 연결합니다.
- Exchange Online Protection(Exchange Online 사서함이 없는 Microsoft 365 조직): Exchange Online Protection PowerShell에 연결합니다.
- Exchange Server: 원격 PowerShell을 사용하여Exchange 관리 셸을 열거나 Exchange 서버에 연결합니다.
및 를 사용하려는 값으로 바꾸고
<Cmdlet>
필요에<Parameter1>,<Parameter2>,...
따라 다음 명령을 실행합니다.$Perms = Get-ManagementRole -Cmdlet <Cmdlet> [-CmdletParameters <Parameter1>,<Parameter2>,...]
팁
여러 매개 변수를 지정하는 경우 cmdlet에 지정된 매개 변수를 모두 포함하는 역할만 반환됩니다.
다음 명령을 실행합니다.
$Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-Table -Auto Role,RoleAssigneeType,RoleAssigneeName}
결과 해석
결과에는 다음 정보가 포함됩니다.
역할: cmdlet 또는 cmdlet과 매개 변수의 조합에 대한 액세스를 제공하는 역할을 나타냅니다. "내"로 시작하는 역할 이름은 일반 사용자가 소유한 개체(예: 자신의 사서함 또는 메일 그룹)에서 작동할 수 있도록 하는 사용자 역할입니다.
RoleAssigneeType 및 RoleAssigneeName: 이러한 값은 상호 관련되어 있습니다.
- RoleAssigneeType 은 역할이 할당된 개체의 형식입니다. 관리자 역할의 경우 이 값은 일반적으로 역할 그룹이지만 역할 할당 정책, 보안 그룹 또는 사용자일 수도 있습니다.
- RoleAssigneeName 은 역할 그룹, 역할 할당 정책, 보안 그룹 또는 사용자의 이름입니다.
문제 해결
결과가 없으면 어떻게 되나요?
- cmdlet과 매개 변수 이름을 올바르게 입력했는지 확인합니다.
- cmdlet에 대한 여러 매개 변수는 단일 역할에 정의되지 않을 수 있습니다(일부 매개 변수는 한 역할에 있을 수 있고 다른 매개 변수는 다른 역할에 있을 수 있습니다). 한 번에 한 단계씩 수행합니다.
- 매개 변수 없이 첫 번째 명령을 실행한 다음 두 번째 명령을 실행합니다.
- 첫 번째 명령에 매개 변수 하나를 추가한 다음 두 번째 명령을 실행합니다.
- 두 번째 명령을 실행하기 전에 첫 번째 명령에 다른 매개 변수를 추가하여 이전 단계를 반복합니다.
그렇지 않으면 다음 조건 중 하나로 인해 결과가 발생하지 않을 수 있습니다.
- cmdlet 또는 매개 변수는 기본적으로 역할 그룹에 할당되지 않은 역할에 정의됩니다.
- cmdlet 또는 매개 변수는 사용자 환경에서 사용할 수 없습니다. 예를 들어 온-프레미스 Exchange 환경에서 Exchange Online cmdlet 또는 Exchange Online 매개 변수를 지정했습니다.
cmdlet 또는 매개 변수가 포함된 사용자 환경에서 역할을 찾으려면 및 를 사용하려는 값으로 바꾸고 <Cmdlet>
<Parameter1>,<Parameter2>,...
다음 명령을 실행합니다.
Get-ManagementRoleEntry -Identity *\<Cmdlet> [-Parameters <Parameter1>,<Parameter2>,...]
팁
cmdlet 및 매개 변수 이름(예 *-Mailbox*
: )에서 와일드카드 문자(*)를 사용할 수 있습니다.
명령이 개체를 찾을 수 없다는 오류를 반환하는 경우 cmdlet 또는 매개 변수를 작업 환경에서 사용할 수 없는 것입니다.
명령이 결과를 반환하는 경우 cmdlet 또는 매개 변수는 사용자 환경에서 사용할 수 있지만 필요한 역할은 역할 그룹에 할당되지 않습니다. 역할 그룹에 할당되지 않은 역할을 찾으려면 다음 명령을 실행합니다.
$na = Get-ManagementRole; $na | foreach {If ((Get-ManagementRoleAssignment -Role $_.Name -Delegating $false) -eq $null) {$_.Name}}
관련 절차
관리 역할 범위 포함
관리 역할 범위(특히 쓰기 범위)는 cmdlet이 작동할 수 있는 위치를 정의합니다. 예를 들어 전체 조직 또는 특정 사용자 개체에만 해당합니다.
PowerShell을 사용하여 cmdlet 출력을 실행하는 데 필요한 권한을 찾으려면 두 번째 명령에 를 추가 *Scope*
합니다.
$Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-List Role,RoleAssigneeType,RoleAssigneeName,*Scope*}
관리 역할 범위에 대한 자세한 내용은 관리 역할 범위 이해를 참조하세요.
특정 사용자에게 할당된 모든 역할 찾기
특정 사용자에게 할당된 모든 역할을 보려면 를 사용자의 <UserIdentity>
이름, 별칭 또는 전자 메일 주소로 바꾸고 다음 명령을 실행합니다.
Get-ManagementRoleAssignment -RoleAssignee <UserIdentity> -Delegating $false | Format-Table -Auto Role,RoleAssigneeName,RoleAssigneeType
예:
Get-ManagementRoleAssignment -RoleAssignee julia@contoso.com -Delegating $false | Format-Table -Auto Role,RoleAssigneeName,RoleAssigneeType
팁
RoleAssignee 매개 변수는 사용자에게 직접 역할 할당(일반적이지 않음)과 역할 그룹의 멤버 자격을 통해 사용자에게 부여된 간접 역할 할당을 모두 반환합니다.
특정 역할이 할당된 모든 사용자 찾기
특정 역할이 할당된 <Role name>
모든 사용자를 보려면 를 역할 이름으로 바꾸고 다음 명령을 실행합니다.
Get-ManagementRoleAssignment -Role "<Role name>" -GetEffectiveUsers -Delegating $false | Where-Object {$_.EffectiveUserName -ne "All Group Members"} | Format-Table -Auto EffectiveUserName,Role,RoleAssigneeName,AssignmentMethod
예:
Get-ManagementRoleAssignment -Role "Mailbox Import Export" -GetEffectiveUsers -Delegating $false | Where-Object {$_.EffectiveUserName -ne "All Group Members"} | Format-Table -Auto EffectiveUserName,Role,RoleAssigneeName,AssignmentMethod
역할 그룹의 멤버 찾기
특정 역할 그룹의 멤버를 보려면 를 역할 그룹의 <Role group name>
이름으로 바꾸고 다음 명령을 실행합니다.
Get-RoleGroupMember "<Role group name>"
예:
Get-RoleGroupMember "Organization Management"
팁
사용 가능한 모든 역할 그룹의 이름을 보려면 를 실행합니다 Get-RoleGroup
.