모든 Exchange cmdlet을 실행하는 데 필요한 사용 권한 찾기Find the permissions required to run any Exchange cmdlet

PowerShell을 사용하여 Exchange 또는 Exchange Online cmdlet을 실행하는 데 필요한 사용 권한을 찾을 수 있습니다. 이 절차에서는 조직에 사용자 지정 역할, 사용자 지정 역할 그룹 또는 사용자 지정 역할 할당이 있는 경우 사용자에게 지정된 cmdlet에 대한 액세스 권한을 부여하는 RBAC(역할 기반 액세스 제어) 관리 역할 및 역할 그룹을 보여 줍니다.You can use PowerShell to find the permissions required to run any Exchange or Exchange Online cmdlet. This procedure shows the role-based access control (RBAC) management roles and role groups that give you access to a specified cmdlet—even if your organization has custom roles, custom role groups, or custom role assignments.

시작하기 전에 알아야 할 내용What do you need to know before you begin?

  • 이 절차의 예상 완료 시간: 5분 미만Estimated time to complete this procedure: less than 5 minutes.

  • 이 절차는 PowerShell을 사용해야 수행할 수 있습니다.You can only use PowerShell to perform this procedure.

  • 기본적으로 이 절차를 완료하려면 관리자여야 합니다. 특히 Get-managementroleGet-managementroleassignment cmdlet에 대한 액세스 권한이 필요합니다. 기본적으로 이러한 cmdlet에 대한 액세스 권한은 보기 전용 조직 관리 및 조직 관리 역할 그룹에 할당된 보기 전용 구성 또는 역할 관리 역할에 의해 부여됩니다.Basically, you need to be an administrator to complete this procedure. Specifically, you need access to the Get-ManagementRole and Get-ManagementRoleAssignment cmdlets. By default, access to these cmdlets is granted by the View-Only Configuration or Role Management roles, which are assigned to the View-Only Organization Management and Organization Management role groups.

  • 이 항목의 절차에서는 Office 365 보안 및 규정 준수 센터에서 작동 하지 않습니다. 보안 및 규정 준수 센터의 권한에 대 한 자세한 내용은 Office 365 준수 센터의 사용 권한을 참조 하십시오.The procedures in this topic don't work in the Office 365 Security & Compliance Center. For more information about permissions in the Security & Compliance Center, see Permissions in Office 365 Compliance Center.

  • 이 항목의 절차가 EOP(Exchange Online Protection)에서는 가능하지 않습니다. EOP의 사용 권한에 대한 자세한 내용은 Feature Permissions in EOP을 참조하세요.The procedures in this topic don't work in Exchange Online Protection (EOP). For more information about permissions in EOP, see Feature Permissions in EOP.

Tip

문제가 있습니까? Exchange 포럼에 도움을 요청 합니다. 포럼에 방문 하 여: Exchange Server 또는 Exchange Online합니다.Having problems? Ask for help in the Exchange forums. Visit the forums at: Exchange Server or Exchange Online.

PowerShell을 사용하여 cmdlet을 실행하는 데 필요한 사용 권한 찾기Use PowerShell to find the permissions required to run a cmdlet

  1. cmdlet을 실행하려는 PowerShell 환경을 엽니다.Open the PowerShell environment where you want to run the cmdlet.

  2. Cmdlet 및 하나 이상의 매개 변수는 cmdlet에서 필요에 따라 식별 하려면 다음 명령을 실행 합니다. 바꿔야 <Cmdlet> 하 고 필요에 따라 <Parameter1>,<Parameter2>,... 관심 있는 실제 cmdlet 및 매개 변수 이름으로 합니다. 쉼표로 구분 하 여 여러 매개 변수를 지정 하는 경우에 모든 매개 변수를 포함 하는 역할만 반환 됩니다.Run the following command to identify the cmdlet and, optionally, one or more parameters on the cmdlet. Be sure to replace <Cmdlet> and optionally, <Parameter1>,<Parameter2>,... with the actual cmdlet and parameter names you are interested in. If you specify multiple parameters separated by commas, only the roles that include all of the parameters are returned.

    $Perms = Get-ManagementRole -Cmdlet <Cmdlet> [-CmdletParameters <Parameter1>,<Parameter2>,... ]
    
  3. 다음 명령을 실행합니다.Run the following command:

    $Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-Table -Auto Role,RoleAssigneeType,RoleAssigneeName}
    

결과 해석Interpreting the results

결과에는 다음 정보가 포함됩니다.The results contain the following information:

  • 역할: cmdlet 또는 cmdlet 및 매개 변수 조합에 대 한 액세스를 제공 하는 역할을 나타냅니다. 역할 이름이 "My"로 시작 하는 일반 사용자가 자신이 소유한 (예: 자신의 사서함 또는 메일 그룹)에 개체에서 작동 하도록 허용 하는 사용자 역할 지 note 합니다.Role: Indicates the role that gives access to the cmdlet or the combination of cmdlet and parameters. Note that role names that begin with "My" are user roles that allow regular users to operate on objects they own (for example, their own mailbox or their distribution groups).

  • RoleAssigneeTypeRoleAssigneeName:이 값은 간 관계가 있습니다. RoleAssigneeType 역할이 할당 된 개체의 형식을 이며 RoleAssigneeName 개체의 이름입니다. 역할 그룹, 역할 할당 정책, 보안 그룹 또는 사용자 RoleAssigneeType 될 수 있습니다. 일반적으로 관리자 역할은 역할 그룹에 할당 됩니다.RoleAssigneeType and RoleAssigneeName: These values are inter-related. RoleAssigneeType is the type of object that has the role assigned to it, and RoleAssigneeName is the name of the object. RoleAssigneeType can be a role group, role assignment policy, security group, or user. Typically, administrator roles are assigned to role groups.

문제 해결Troubleshooting

결과가 없으면 어떻게 되나요?What if there are no results?

  • cmdlet과 매개 변수 이름을 올바르게 입력했는지 확인합니다.Verify that you entered the cmdlet and parameter names correctly.

  • 너무 많은 매개 변수를 입력했을 수 있으며, cmdlet에 대한 모든 매개 변수가 단일 역할에 정의되어 있지는 않습니다. 2단계에서는 cmdlet 이름만 지정하고, 3단계를 실행하여 해당 cmdlet을 작업 환경에서 사용할 수 있는지 확인합니다. 그런 다음 3단계를 실행하기 전에 2단계에 한 번에 하나씩 매개 변수를 추가합니다.You might have entered too many parameters, and all of the parameters on the cmdlet aren't defined in a single role. Try specifying only the cmdlet name in Step 2, and run Step 3 to verify that the cmdlet is available in your environment. Then, add parameters one at a time to Step 2 before running Step 3.

  • 이러한 원인 다 같은 솔루션:These possible causes have the same solution:

    • 기본적으로 누구에게도 할당되지 않은 역할에 정의된 cmdlet 또는 매개 변수를 입력했을 수 있습니다.You might have entered a cmdlet or parameters that are defined in a role that isn't assigned to anyone by default.

    • 작업 환경에서 사용할 수 없는 cmdlet 또는 매개 변수를 입력했을 수 있습니다. 에를 들어 온-프레미스 Exchange 2016 환경에서 Exchange Online cmdlet 또는 매개 변수를 입력할 경우You might have entered a cmdlet or parameter that isn't available in your environment. For example, when you enter an Exchange Online cmdlet or parameters in an on-premises Exchange 2016 environment.

    Cmdlet 또는 매개 변수를 포함 하는 역할을 찾으려면 다음 명령을 실행 합니다. 바꿔야 <Cmdlet> 하 고 필요에 따라 <Parameter1>,<Parameter2>,... 관심 있는 실제 cmdlet 및 매개 변수 이름으로 합니다. Cmdlet 및 매개 변수 이름에 와일드 카드 문자 (*)를 사용할 수 있는 메모 (등 *-Mailbox*).Run the following command to find the role that contains the cmdlet or parameters. Be sure to replace <Cmdlet> and optionally, <Parameter1>,<Parameter2>,... with the actual cmdlet and parameter names you are interested in. Note that you can use wildcard characters (*) in the cmdlet and parameter names (for example, *-Mailbox*).

    Get-ManagementRoleEntry -Identity *\<Cmdlet>  [-Parameters <Parameter1>,<Parameter2>,... ]
    
    • 명령이 개체를 찾을 수 없다는 오류를 반환하는 경우 cmdlet 또는 매개 변수를 작업 환경에서 사용할 수 없는 것입니다.If the command returns an error saying the object couldn't be found, the cmdlet or parameters aren't available in your environment.

    • 명령에서 하나 이상의 항목 이름, 역할매개 변수를 반환 하는 경우 cmdlet (또는 매개 변수는 cmdlet에서)는 사용자 환경에서 사용할 수 있지만 모든 사용자에 게 필요한 역할 할당 되지 않습니다. 모든 사용자에 게 할당 되지 않은 모든 역할을 보려면 다음 명령을 실행 합니다.If the command returns one or more entries for Name, Role, and Parameters, the cmdlet (or parameters on the cmdlet) is available in your environment, but the required role isn't assigned to anyone. To see all roles that aren't assigned to anyone, run the following command:

      $na = Get-ManagementRole ; $na | foreach {If ((Get-ManagementRoleAssignment -Role $_.Name -Delegating $false) -eq $null) {$_.Name}}
      
  • 관리 역할 범위는 cmdlet이 작동될 수 있는 범위(특히, 쓰기 범위)를 정의합니다.Management role scopes define where cmdlets can operate (in particular, write scopes).

    2단계의 범위 정보를 포함하려면 다음 명령을 대체합니다.To include scope information in Step 2, substitute the following command:

    $Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-List Role,RoleAssigneeType,RoleAssigneeName,*Scope*}
    
  • 특정 사용자에게 할당된 모든 역할을 보려면 다음 명령을 실행합니다.To see all roles assigned to a specific user, run the following command:

    Get-ManagementRoleAssignment -RoleAssignee <UserIdentity> -Delegating $false | Format-Table -Auto Role,RoleAssigneeName,RoleAssigneeType
    

    예를 들면 다음과 같습니다.For example:

    Get-ManagementRoleAssignment -RoleAssignee julia@contoso.com -Delegating $false | Format-Table -Auto Role,RoleAssigneeName,RoleAssigneeType
    
  • 특정 역할에 할당된 모든 사용자를 보려면 다음 명령을 실행합니다.To see all users who are assigned a specific role, run the following command:

    Get-ManagementRoleAssignment -Role "<Role name>"  -GetEffectiveUsers -Delegating $false | Where-Object {$_.EffectiveUserName -ne "All Group Members"} | Format-Table -Auto EffectiveUserName,Role,RoleAssigneeName,AssignmentMethod
    

    예를 들면 다음과 같습니다.For example:

    Get-ManagementRoleAssignment -Role "Mailbox Import Export"  -GetEffectiveUsers -Delegating $false | Where-Object {$_.EffectiveUserName -ne "All Group Members"} | Format-Table -Auto EffectiveUserName,Role,RoleAssigneeName,AssignmentMethod
    
  • 특정 역할 그룹의 구성원을 보려면 다음 명령을 실행합니다.To see the members of a specific role group, run the following command:

    Get-RoleGroupMember "<Role group name>"
    

    예를 들면 다음과 같습니다.For example:

    Get-RoleGroupMember "Organization Management"