Exchange Online / PowerShell

Exchange Online PowerShell은 Microsoft 365의 Exchange Online 환경을 관리할 수 있는 강력한 명령줄 도구입니다. 이를 통해 관리자는 대량 작업을 빠르게 하거나, Exchange 관리 센터(EAC)에서 제공되지 않는 고급 관리 작업을 수행할 수 있습니다.

설치와 연결

  • Windows PowerShell을 관리자 권한으로 엽니다.
  • 현재 실행 정책을 확인합니다.
Get-ExecutionPolicy
  • 만약 Restricted라고 나오면 아래와 같이 명령하여 RemoteSigned로 바꿉니다.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  • 다음을 실행합니다.
Install-Module -Name ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement
  • 연결하기
Connect-ExchangeOnline
  • 연결 끊기
Disconnect-ExchangeOnline

사서함 정보 조회

  • 조직의 모든 사서함에 대한 최소 속성 집합을 반환합니다.
Get-EXOMailbox -ResultSize unlimited
  • 모든 속성을 a.csv로 내보냅니다.
Get-EXOMailbox -ResultSize unlimited -PropertySets All | Export-Csv C:\a.csv -NoTypeInformation -Encoding UTF8
  • 모든 사용자 사서함의 DisplayName, UserPrincipalName을 반환합니다.
Get-EXOMailbox -ResultSize unlimited -PropertySets All -RecipientTypeDetails UserMailbox | Select DisplayName, UserPrincipalName
  • 최대 수신 크기, 최대 발신 크기를 조회합니다.
Get-EXOMailbox -ResultSize unlimited -PropertySets All | Select MaxReceiveSize, MaxSendSize
  • ggn@manualfactory.net의 사서함 통계를 반환합니다.
Get-EXOMailboxStatistics -Identity ggn@microsoft-365.co.kr -PropertySets All
  • 모든 사서함의 모든 통계를 반환합니다.
Get-EXOMailbox -ResultSize unlimited | Get-EXOMailboxStatistics -PropertySets All

별칭으로 메일 주고 받을 수 있게 하기

  • 아래와 같이 명령하면 별칭으로 메일을 받고 보낼 수 있습니다.
Set-OrganizationConfig -SendFromAliasEnabled $true
  • 아래 처럼 보낸 사람을 추가할 수 있습니다.

Microsoft 365 그룹 숨기기, 보이게 하기

  • 숨기기 - 아래 둘 중 하나
Set-UnifiedGroup -Identity 'TEAM NAME' -HiddenFromExchangeClientsEnabled
Set-UnifiedGroup -Identity 'TEAM NAME' -HiddenFromExchangeClientsEnabled:$True
  • 보이게 하기
Set-UnifiedGroup -Identity 'TEAM NAME' -HiddenFromExchangeClientsEnabled:$False

메일 그룹에 다른 이름으로 보내기 권한 부여

  • 메일 그룹 mg-01@manualfactory.net의 다른 이름으로 보내기 권한에 dsa@manualfactory.net를 추가
Add-RecipientPermission mg-01@manualfactory.net -AccessRights SendAs -Trustee dsa@manualfactory.net -Confirm:$false

용량 경고 메일 발송 기준 설정

  • ddr@manualfactory.net 사용자의 용량 경고 메일 발송 기준 보기
Get-Mailbox ddr@manualfactory.net | Select IssueWarningQuota
  • ddr@manualfactory.net 사용자의 용량 경고 메일 발송 기준을 2GB로 설정
Set-Mailbox ddr@manualfactory.net -IssueWarningQuota 2GB

메시지 크기 제한

  • ggn@manualfactory.net의 최대 수신 크기를 153600KB로 설정
Set-Mailbox -Identity ggn@manualfactory.net -MaxReceiveSize 153600KB
  • ggn@manualfactory.net의 최대 발신 크기를 153600KB로 설정
Set-Mailbox -Identity ggn@manualfactory.net -MaxSendSize 153600KB
  • 모든 메일박스의 최대 발신 크가와 최대 수신 크기를 153600KB로 설정
Get-EXOMailbox | Set-Mailbox -MaxSendSize 153600KB -MaxReceiveSize 153600KB
  • ggn@manualfactory.net를 제외한 메일박스의 최대 수신 크기를 153600KB로 설정
Get-EXOMailbox -Filter "UserPrincipalName -ne 'ggn@manualfactory.net'" | Set-Mailbox -MaxReceiveSize 153600KB

자동 확장 보관 - 전체 조직

  • 자동 확장 기능 사용 여부 확인
  • True면 사용, False면 사용 안 함
Get-OrganizationConfig | FL AutoExpandingArchiveEnabled
  • 자동 확장 기능 사용하도록 설정
Set-OrganizationConfig -AutoExpandingArchive

자동 확장 보관 - 특정 사용자

  • ggn@manualfactory.net 사용자의 자동 확장 기능 사용 여부 확인
Get-EXOMailbox -Identity ggn@manualfactory.net -PropertySets All | Select AutoExpandingArchiveEnabled
  • ggn@manualfactory.net 사용자가가 자동 확장 기능을 사용하도록 설정
Enable-Mailbox ggn@manualfactory.net -AutoExpandingArchive

전달 설정

  • ggn@manualfactory.net으로 들어오는 메일을 ggn@codingfactory.net으로 전달
  • 전달된 메시지의 복사본 보관
Set-Mailbox -Identity "ggn@manualfactory.net" -ForwardingSmtpAddress "ggn@codingfactory.net" -DeliverToMailboxAndForward $True
  • 전달 해제
Set-Mailbox -Identity "ggn@manualfactory.net" -ForwardingSmtpAddress $null

회의실 사서함

  • room-01이라는 메일 주소를 가진 Room 01 사서함을 만든다.
New-Mailbox -Name room-01 -DisplayName 'Room 01' -Room
  • 회의실 사서함 조회
Get-EXOMailbox -ResultSize unlimited -Filter '( ResourceType -eq "Room" )'
Get-EXOMailbox -ResultSize unlimited -Filter '(RecipientTypeDetails -eq "RoomMailBox")'

외부로부터 받은 메시지에 외부(External) 표시

  • 현재 설정 확인
Get-ExternalInOutlook
  • 표시하기
Set-ExternalInOutlook -Enabled $true
  • 표시하지 않기
Set-ExternalInOutlook -Enabled $false

설정이 반영되는 데까지 꽤 오랜 시간이 걸릴 수 있습니다.