다음을 통해 공유


Exchange Online PowerShell에 대한 액세스 설정 또는 해제

Exchange Online PowerShell은 관리자가 명령줄에서 Microsoft 365 조직의 Exchange Online 부분을 관리할 수 있는 관리 인터페이스입니다(Exchange Online Protection 및 Office 365용 Microsoft Defender의 많은 보안 기능 포함).

기본적으로 Microsoft 365의 모든 계정은 Exchange Online PowerShell을 사용할 수 있습니다. 이 액세스 권한은 사용자에게 조직의 관리 기능을 제공하지 않습니다. RBAC(역할 기반 액세스 제어)에 의해 여전히 제한됩니다(예: 자체 사서함에서 설정을 구성하거나 소유하고 있는 메일 그룹을 관리할 수 있지만 그 외에는 많지 않음).

관리자는 이 문서의 절차를 사용하여 Exchange Online PowerShell에 연결하는 사용자의 기능을 사용하지 않도록 설정하거나 사용하도록 설정할 수 있습니다.

시작하기 전에 알아야 할 사항은 무엇인가요?

  • 각 절차의 예상 완료 시간: 5분 미만

  • 이 문서의 절차는 Exchange Online PowerShell에서만 사용할 수 있습니다. Exchange Online PowerShell에 연결하려면 Exchange Online PowerShell에 연결을 참조하세요.

  • 이 문서의 절차를 수행하려면 권한이 할당되어야 합니다. 다음과 같은 옵션을 선택할 수 있습니다.

    • Exchange Online RBAC: 조직 관리 또는 받는 사람 관리 역할 그룹의 멤버 자격입니다.
    • Microsoft Entra RBAC: Exchange 관리자 또는 전역 관리자* 역할의 멤버 자격은 사용자에게 Microsoft 365의 다른 기능에 필요한 권한 권한을 제공합니다.

    중요

    클라우드 기반 조직에서 PowerShell 액세스를 빠르고 전역적으로 사용하지 않도록 설정하려면 서둘러 관리자 계정을 고려하지 않고 같은 Get-User | Set-User -EXOModuleEnabled $false 명령을 조심하세요. 이 문서의 절차를 사용하여 PowerShell 액세스를 선택적으로 제거하거나 전역 제거 명령 Get-User | Where-Object {$_.UserPrincipalName -ne 'admin1@contoso.onmicrosoft.com' -and $_.UserPrincipalName -ne 'admin2@contoso.onmicrosoft.com'...} | Set-User -EXOModuleEnabled $false에서 다음 구문을 사용하여 필요한 사용자에 대한 액세스를 유지합니다.

    실수로 PowerShell 액세스에서 자신을 잠그는 경우 Microsoft 365 관리 센터에서 새 관리자 계정을 만든 다음, 해당 계정을 사용하여 이 문서의 절차를 사용하여 PowerShell 액세스 권한을 부여합니다.

    * 사용 권한이 가장 적은 역할을 사용하는 것이 좋습니다. 사용 권한이 낮은 계정을 사용하면 조직의 보안을 개선하는 데 도움이 됩니다. 전역 관리자는 기존 역할을 사용할 수 없는 경우 긴급 시나리오로 제한해야 하는 매우 권한 있는 역할입니다.

  • Exchange Online의 OPATH 필터 구문에 대한 자세한 내용은 추가 OPATH 구문 정보를 참조하세요.

문제가 있습니까? Exchange 포럼에서 도움을 요청하세요. 포럼 주소는 다음과 같습니다. Exchange Online, 또는 Exchange Online Protection

사용자가 원격 PowerShell에 액세스하거나 액세스하지 않도록 설정

이 예제에서는 사용자 david@contoso.onmicrosoft.com에 대한 Exchange Online PowerShell에 대한 액세스를 사용하지 않도록 설정합니다.

Set-User -Identity david@contoso.onmicrosoft.com -EXOModuleEnabled $false

이 예제에서는 사용자 chris@contoso.onmicrosoft.com에 대한 Exchange Online PowerShell에 액세스할 수 있습니다.

Set-User -Identity chris@contoso.onmicrosoft.com -EXOModuleEnabled $true

여러 사용자가 원격 PowerShell에 액세스하지 않도록 설정

특정 기존 사용자 그룹의 원격 PowerShell 액세스를 차단하려면 다음 옵션을 사용할 수 있습니다.

  • 기존 특성에 따라 사용자 필터링: 이 메서드는 대상 사용자 계정이 모두 고유한 필터링 가능한 특성을 공유한다고 가정합니다. 제목, 부서, 주소 정보 및 전화 번호와 같은 일부 특성은 Get-User cmdlet에서만 사용할 수 있습니다. CustomAttribute1에서 CustomAttribute15로 같은 다른 특성은 Get-Mailbox cmdlet에서만 사용할 수 있습니다.
  • 특정 사용자 목록 사용: 특정 사용자 목록을 생성한 후 해당 목록을 사용하여 Exchange Online PowerShell에 대한 액세스를 사용하지 않도록 설정할 수 있습니다.

기존 특성을 기준으로 사용자 필터링

기존 특성을 기반으로 하는 사용자 수에 대해 Exchange Online PowerShell에 대한 액세스를 사용하지 않도록 설정하려면 다음 구문을 사용합니다.

$<VariableName> = <Get-Mailbox | Get-User> -ResultSize unlimited -Filter <Filter>

$<VariableName> | foreach {Set-User -Identity $_.WindowsEmailAddress -EXOModuleEnabled $false}

이 예에서는 Title 특성에 "Sales Associate" 값이 포함된 모든 사용자의 원격 PowerShell 액세스 권한을 제거합니다.

$DSA = Get-User -ResultSize unlimited -Filter "(RecipientType -eq 'UserMailbox') -and (Title -like 'Sales Associate*')"

$DSA | foreach {Set-User -Identity $_.WindowsEmailAddress -EXOModuleEnabled $false}

특정 사용자 목록 사용

특정 사용자 목록에 대해 원격 PowerShell 액세스를 사용하지 않도록 설정하려면 다음 구문을 사용합니다.

$<VariableName> = Get-Content <text file>

$<VariableName> | foreach {Set-User -Identity $_ -EXOModuleEnabled $false}

다음 예제에서는 텍스트 파일 C:\My Documents\NoPowerShell.txt 사용하여 계정으로 사용자를 식별합니다. 텍스트 파일에는 다음과 같이 각 줄에 하나의 계정이 포함되어야 합니다.

akol@contoso.onmicrosoft.com
tjohnston@contoso.onmicrosoft.com
kakers@contoso.onmicrosoft.com

업데이트하려는 사용자 계정으로 텍스트 파일을 채웁니다. 다음 명령을 실행합니다.

$NoPS = Get-Content "C:\My Documents\NoPowerShell.txt"

$NoPS | foreach {Set-User -Identity $_ -EXOModuleEnabled $false}

사용자의 Exchange Online PowerShell 액세스 상태 보기

특정 사용자의 <PowerShell 액세스 상태를 보려면 UserIdentity> 를 사용자의 이름 또는 UPN(사용자 계정 이름)으로 바꾸고 다음 명령을 실행합니다.

Get-User -Identity "<UserIdentity>" | Format-List EXOModuleEnabled

모든 사용자에 대한 Exchange Online PowerShell 액세스 상태를 표시하려면 다음 명령을 실행합니다.

Get-User -ResultSize unlimited | Format-Table -Auto DisplayName,EXOModuleEnabled

Exchange Online PowerShell에 액세스할 수 없는 모든 사용자를 표시하려면 다음 명령을 실행합니다.

Get-User -ResultSize unlimited -Filter 'EXOModuleEnabled -eq $false'

Exchange Online PowerShell에 액세스할 수 있는 모든 사용자를 표시하려면 다음 명령을 실행합니다.

Get-User -ResultSize unlimited -Filter 'EXOModuleEnabled -eq $true'