Exchange Online PowerShell은 Exchange Online 메일박스와 사용자를 관리할 수 있는 명령줄 도구입니다. 메일박스 생성 및 관리, 메일 흐름 규칙 구성, 사용자 권한 관리 등 다양한 작업을 수행할 수 있습니다. 이 안내서에서는 Exchange Online PowerShell을 설치하고 연결하는 방법을 안내해 드리겠습니다. Exchange Online 서비스에서 Microsoft 365 관리 업무를 수행하는 IT 전문가라면 이 안내서가 유용할 것입니다!
Exchange Online PowerShell 설치 및 연결 방법
IT 전문가로서, Microsoft 365 관리 업무 중 Exchange Online을 다루게 될 것입니다. 이러한 작업의 대부분은 Exchange 관리 센터 웹사이트를 사용하여 수행할 수 있지만, 특히 스크립팅을 통해 명령줄을 사용하면 효율적으로 작업할 수 있습니다!
필수 조건
Exchange Online와 같은 다른 Office 365 서비스에 표준 Connect-* cmdlet을 사용하여 연결할 수 있습니다. 그러나 Exchange Online PowerShell을 설치하고 활용할 때 몇 가지 사전 요구 사항을 염두에 두어야 합니다.
이 모듈은 몇 년 동안 여러 버전이 출시되었습니다. 2.0.5 버전 및 이전 버전은 Exchange Online PowerShell V2 모듈(EXO V2)로 알려져 있습니다. 3.0.0 버전 이후는 Exchange Online PowerShell V3 모듈(EXO V3)로 알려져 있습니다.
이 새로운 모듈에 초점을 맞출 것이며, 이 모듈은 다중 인증(MFA)을 지원하며, 이전 버전보다 성능이 향상되었으며, 더 안전합니다! 또한, 최신 PowerShell 버전 7.x 버전에서 지원됩니다. 또한, 새로운 cmdlet(EXO-*)을 통해 IT 전문가들이 작업을 더 빠르고 생산적으로 수행할 수 있습니다.
‘Install-Module’을 사용하여 Echange Online PowerShell 모듈을 설치하기
내가 말한대로, 나는 이 기사의 나머지 부분에 대해 최신 ‘V3’ 모듈에 초점을 맞출 것이다. 특정 컴퓨터에서 이전에 완료한 단계에 따라, 2단계에서 3단계 사이에 수행할 수 있는 가능성이 있다. 나는 각각의 단계를 따로 살펴볼 것이므로, 환경에 따라 즉시 시작할 수 있다.
I am working on a Windows 11 22H2 virtual machine (VM) in my Hyper-V lab. This machine is Azure-AD joined to my Microsoft 365 Developer tenant. This will allow me to show you the procedure and also include some basic commands at the end of this article to demonstrate how it operates.
I am using the latest version of PowerShell, version 7.3.4, at the time of writing. This will enable me to install the Exchange Online PowerShell module. All I need is a PowerShell window!
- 우리가 따를 첫 번째 단계는 우리의 실행 정책을 설정하는 것이다. 우리는 Set-ExecutionPolicy cmdlet을 사용하여 정책 설정을 변경해야 한다.
Set-ExecutionPolicy RemoteSigned
- 다음으로, Get-Module 명령을 실행하여 설치된 모듈을 확인한다.
Get-Module

- I have only the base set of modules installed on my computer. So, I need to install the ‘ExchangeOnlineManagement‘ module. Let’s do this with the Install-Module command:
Install-Module -Name ExchangeOnlineManagement

참고: ‘신뢰할 수 없는 저장소’를 사용하기 때문에, ‘PSGallery’ 저장소에서 이것을 다운로드하려고 한다는 것을 명시해야 한다. ‘예’를 선택하기 위해 ‘A’를 입력했다. A를 입력하여 ‘모두에게 예’를 선택했다.
‘Import-Module’로 모듈을 로드하는 중
이제 다음 주요 단계를 수행해 보겠습니다. 모듈을 로드하는 것입니다.
- Import-Module 명령을 사용하여 모듈을 가져올 수 있습니다.
- 그런 다음 다른 Get-Module 명령을 실행하여 확인할 수 있습니다.
Import-Module ExchangeOnlineManagement

이제 모듈이 준비된 것을 확인했습니다!
‘Connect-ExchangeOnline’으로 Exchange Online 테넌트에 연결하기
테넌트의 Exchange Online 정보에 액세스하려면 마지막 단계로 해당 액세스를 허용하는 자격 증명을 사용하여 연결을 설정해야 합니다. Azure에는 이를 허용하는 여러 역할 수준이 있습니다. 이를 위해 나는 내 개발자 테넌트의 글로벌 관리자 역할을 사용할 것입니다. 이 계정 역할은 우연히도 Azure AD와 PowerShell을 통해 모든 Microsoft 365 서비스에 대한 완전한 액세스 권한을 부여합니다.
- 아래 Connect-ExchangeOnline cmdlet을 사용해 봅시다.
Connect-ExchangeOnline -userprincipalname

- 이는 사용자 이름과 암호를 요청하는 브라우저 인증 창이 열렸습니다. 여기에서 내 글로벌 관리자 계정으로 로그인할 수 있습니다.

좋습니다! ‘EXO V3’ 모듈을 설명하는 노란색 텍스트와 자세한 정보를 얻을 수 있는 문서 링크가 표시됩니다.
이제 우리는 Exchange Online 테넌트에 대해 PowerShell cmdlet을 실행할 수 있는 능력을 갖추었습니다. 다음에 시작할 수 있는 몇 가지 기본/핵심 명령에 대해 알아보겠습니다.
주의: 항상 보안을 염두에 두고 있다면 작업을 마친 후 세션을 종료하는 것이 가장 좋습니다. 세션을 종료하는 방법은 다음 명령을 실행한 후 셸을 닫으면 됩니다.
Disconnect-ExchangeOnline
아주 간단하죠!
기본적인 Exchange Online PowerShell 명령어
Exchange Online 버전 3 PowerShell 모듈(EXO V3)에 연결한 후 Exchange Online cmdlet을 실행할 수 있습니다. 먼저 테넌트의 모든 메일박스를 나열해 보겠습니다.
개발자 테넌트이기 때문에 목록이 상당히 작습니다. 일반적으로 더 큰 환경에서는 출력이 그다지 유용하지 않을 수 있습니다. 이에 대해서는 조금 후에 다루겠습니다. 또한 Petri에는 여러 PowerShell 기사가 있어 도움이 될 것입니다.
‘레거시’ Get-Mailbox cmdlet(폐지 예정) 대신 EXO V3에서 새로운 명령을 보여드리겠습니다. 여기서 Get-EXOMailbox 명령을 사용한 후 ‘파이프’ (|)를 사용하여 ‘ft’ 스위치(‘Format-Table’과 동일)로 전달합니다. ‘Autosize’ 스위치를 사용하면 기본적으로 콘솔 창에 맞게 열 너비를 자동으로 조정합니다.
Get-EXOMailbox | ft -Autosize

기본적으로 ‘ExternalDirectoryObjectId’, ‘UserPrincipalName’(일반적으로 이메일 주소), 메일 별칭을 가져옵니다. 더 많은 정보를 요청해 봅시다.
Get-EXOMailbox | Select DisplayName,PrimarySMTPAddress,Alias

이제 약간 더 유용한 정보를 얻었나요? 이제 Get-EXOMailboxStatistics 명령을 사용하여 일부 메일박스 크기 통계를 얻어봅시다. 여기서 첫 번째 명령을 실행하여 모든 메일박스를 수집한 다음, 기본 속성을 가진 ‘Get-EXOMailboxStatistics’로 파이핑하고 다시 ‘ft’를 사용하여 깔끔하게 만듭니다.
Get-EXOMailbox | Get-EXOMailboxStatistics | ft

우리는 조직의 품목 수와 메일함 크기에 대한 상당한 양의 정보를 얻을 수 있습니다. 계정 및 메일함에서 특정 속성을 얻기 위해 사용할 수 있는 많은 다른 매개변수들이 있습니다.
Exchange Online에 MFA를 사용하여 PowerShell을 통해 연결하는 방법은?
다행히 MFA로 보호된 계정으로 연결할 때 특별히 해야 할 일은 없습니다(당연히 그래야 합니다!). 명령을 입력하고 PowerShell 7 이상을 사용하는 경우 스크린샷에서 보여지는 브라우저 기반 인증 화면이 나타납니다.
PowerShell 5.1 이하를 사용하는 경우 표준 모던 인증 창이 열리며 비밀번호를 입력하고 MFA 요청을 충족해야 합니다.
맥에서 Exchange Online PowerShell에 연결할 수 있나요?
맥에 PowerShell을 설치하는 여러 가지 방법이 있지만, 가장 간단한 방법은 Microsoft 웹사이트에서 직접 다운로드 링크를 사용하는 것입니다. 7.2 버전부터 PowerShell은 Apple Silicon Mac을 지원합니다.
맥에서 macOS 11 Big Sur 이상을 실행하는 기기에 PowerShell을 설치한 후, macOS에서 Exchange Online에 연결하려면 위에서 제공된 동일한 지침을 사용할 수 있습니다.
Exchange Online PowerShell을 사용하는 추가 혜택
Exchange Online PowerShell은 Exchange Online 환경을 더 잘 제어하고 싶은 IT Pro/관리자에게 귀중한 도구입니다.
Exchange Online PowerShell을 사용하는 추가 혜택은 다음과 같습니다:
- Powershell 스크립트를 사용하여 프로세스를 자동화할 수 있어 시간과 노력을 절약할 수 있습니다.
- 문제 해결에 사용할 수 있어 문제를 빠르게 해결할 수 있습니다.
- Exchange Online 환경을 사용자 친화적이고 효율적으로 사용자 정의할 수 있습니다.
질문이나 의견이 있으면 아래 댓글을 남겨주세요. 읽어주셔서 감사합니다!
Source:
https://petri.com/connect-to-exchange-online-powershell/