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

Exchange Online PowerShell은 관리자가 명령줄에서 Microsoft 365 organization Exchange Online 부분을 관리할 수 있는 관리 인터페이스입니다(Exchange Online Protection 및 Office 365용 Microsoft Defender).

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

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

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

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

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

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

    중요

    organization PowerShell 액세스를 빠르고 전역적으로 사용하지 않도록 설정하려면 서둘러 관리자 계정을 고려하지 않고 같은 Get-User | Set-User -RemotePowerShellEnabled $false 명령을 조심하세요. 이 문서의 절차를 사용하여 원격 PowerShell 액세스를 선택적으로 제거하거나 전역 제거 명령 Get-User | Where-Object {$_.UserPrincipalName -ne 'admin1@contoso.onmicrosoft.com' -and $_.UserPrincipalName -ne 'admin2@contoso.onmicrosoft.com'...} | Set-User -RemotePowerShellEnabled $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 -RemotePowerShellEnabled $false

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

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

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

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

  • 기존 특성에 따라 사용자 필터링: 이 메서드는 대상 사용자 계정이 모두 고유한 필터링 가능한 특성을 공유한다고 가정합니다. 직함, 부서, 주소 정보, 전화 번호 등의 일부 특성은 Get-User cmdlet을 사용하는 경우에만 표시됩니다. CustomAttribute1-15 등의 기타 특성은 Get-Mailbox cmdlet을 사용하는 경우에만 표시됩니다.

  • 특정 사용자 목록 사용: 특정 사용자 목록을 생성한 후 해당 목록을 사용하여 Exchange Online PowerShell에 대한 액세스를 사용하지 않도록 설정할 수 있습니다.

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

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

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

$<VariableName> | foreach {Set-User -Identity $_.WindowsEmailAddress -RemotePowerShellEnabled $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 -RemotePowerShellEnabled $false}

특정 사용자 목록 사용

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

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

$<VariableName> | foreach {Set-User -Identity $_ -RemotePowerShellEnabled $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 $_ -RemotePowerShellEnabled $false}

사용자에 대한 Exchange Online PowerShell 액세스 상태 보기

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

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

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

Get-User -ResultSize unlimited | Format-Table -Auto Name,DisplayName,RemotePowerShellEnabled

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

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

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

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