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'