Exchange 서버를 관리하다 보면 메일박스의 용량을 정기적으로 확인해야 할 상황이 자주 발생합니다. 특정 사용자의 메일박스가 너무 크거나, 서버 성능에 영향을 미치는 대용량 메일박스를 찾아야 할 때, 또는 저장소 할당량 관리를 위해 전체 메일박스 용량 현황을 파악해야 할 때가 그렇죠. 오늘은 Exchange Server(온프레미스)와 Exchange Online에서 메일박스 용량을 확인하는 다양한 방법들을 단계별로 정리해드리겠습니다.

MS-Exchange-Server

 

 

1. PowerShell을 이용한 메일박스 용량 확인

PowerShell은 Exchange 메일박스 용량을 확인하는 가장 강력하고 유연한 방법입니다. 온프레미스 Exchange Server와 Exchange Online 모두에서 사용할 수 있습니다.

단일 사용자 메일박스 용량 확인

# 기본 명령어
Get-MailboxStatistics -Identity "사용자명" | Select-Object DisplayName, TotalItemSize, ItemCount

# 예시
Get-MailboxStatistics -Identity "john.doe@contoso.com" | Select-Object DisplayName, TotalItemSize, ItemCount

모든 메일박스 용량 확인

# 모든 메일박스 용량을 크기 순으로 정렬
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | 
Select-Object DisplayName, TotalItemSize, ItemCount | 
Sort-Object TotalItemSize -Descending

대용량 메일박스 상위 30개 조회

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | 
Sort-Object TotalItemSize -Descending | 
Select-Object DisplayName, TotalItemSize -First 30

Exchange Online 전용 명령어 (최신)

Exchange Online에서는 더 효율적인 Get-EXOMailboxStatistics 명령어를 권장합니다:

# Exchange Online 연결
Connect-ExchangeOnline -UserPrincipalName "admin@contoso.com"

# 개별 메일박스 조회
Get-EXOMailboxStatistics -Identity "user@contoso.com" -Properties DisplayName,TotalItemSize,ItemCount

# 모든 메일박스 조회
Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxStatistics

 

 

2. 용량을 이해하기 쉬운 형태로 변환하기

PowerShell에서 반환되는 메일박스 용량은 바이트 단위로 표시되어 읽기 어려울 수 있습니다. 다음과 같이 MB나 GB 단위로 변환할 수 있습니다:

MB 단위로 변환

Get-MailboxStatistics | 
Select-Object DisplayName, 
@{label="Total Size (MB)";expression={$_.TotalItemSize.Value.ToMB()}}, 
ItemCount, StorageLimitStatus | 
Sort-Object "Total Size (MB)" -Descending

GB 단위로 변환

Get-MailboxStatistics | 
Select-Object DisplayName, 
@{label="Total Size (GB)";expression={[math]::Round($_.TotalItemSize.Value.ToGB(),2)}}, 
ItemCount, StorageLimitStatus | 
Sort-Object "Total Size (GB)" -Descending

 

 

3. 특정 조건의 메일박스 필터링

1GB 이상 메일박스만 조회

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | 
Where-Object {$_.TotalItemSize.Value.ToGB() -gt 1} | 
Select-Object DisplayName, 
@{label="Size (GB)";expression={[math]::Round($_.TotalItemSize.Value.ToGB(),2)}} | 
Sort-Object "Size (GB)" -Descending

특정 데이터베이스의 메일박스만 조회

Get-MailboxStatistics -Database "Mailbox Database 01" | 
Select-Object DisplayName, TotalItemSize, Database | 
Sort-Object TotalItemSize -Descending

 

 

4. Exchange 관리 센터(EAC)를 이용한 방법

GUI를 선호하는 관리자들을 위한 방법입니다.

Exchange Server 온프레미스

  1. Exchange 관리 센터 접속
    • 웹 브라우저에서 https://서버주소/ecp 또는 https://서버주소/exchange 접속
    • 관리자 계정으로 로그인
  2. 메일박스 정보 확인
    • 왼쪽 메뉴에서 받는 사람사서함 클릭
    • 확인하고 싶은 사용자를 선택
    • 오른쪽 세부 정보 창에서 메일박스 사용량 확인

Exchange Online

  1. Exchange 관리 센터 접속
  2. 메일박스 용량 확인
    • 받는 사람사서함 메뉴 선택
    • 사용자를 클릭하면 오른쪽에 메일박스 정보 표시

 

 

5. Microsoft 365 관리 센터 활용

Exchange Online 사용자라면 Microsoft 365 관리 센터에서도 메일박스 사용량을 확인할 수 있습니다.

사용 현황 보고서로 확인

  1. Microsoft 365 관리 센터 접속
  2. 사서함 사용량 확인
    • 보고서사용 현황 클릭
    • 전자 메일 활동자세히 보기
    • 상단의 사서함 사용량 탭 선택

 

 

6. 실용적인 PowerShell 스크립트 예제

메일박스 용량 리포트 생성 및 CSV 저장

# 모든 메일박스 정보를 수집하여 CSV로 저장
$MailboxReport = Get-Mailbox -ResultSize Unlimited | ForEach-Object {
    $Stats = Get-MailboxStatistics $_.Identity
    [PSCustomObject]@{
        'Display Name' = $_.DisplayName
        'Email Address' = $_.PrimarySmtpAddress
        'Total Size (MB)' = [math]::Round($Stats.TotalItemSize.Value.ToMB(), 2)
        'Item Count' = $Stats.ItemCount
        'Database' = $Stats.Database
        'Storage Limit Status' = $Stats.StorageLimitStatus
        'Last Logon' = $Stats.LastLogonTime
    }
}

$MailboxReport | Export-Csv -Path "C:\Reports\MailboxSizeReport.csv" -NoTypeInformation -Encoding UTF8

대용량 메일박스 경고 스크립트

# 5GB 이상 메일박스 찾기
$LargeMailboxes = Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | 
Where-Object {$_.TotalItemSize.Value.ToGB() -gt 5} | 
Select-Object DisplayName, 
@{label="Size (GB)";expression={[math]::Round($_.TotalItemSize.Value.ToGB(),2)}}, 
Database, StorageLimitStatus

if ($LargeMailboxes) {
    Write-Host "발견된 대용량 메일박스 (5GB 이상):" -ForegroundColor Yellow
    $LargeMailboxes | Format-Table -AutoSize
} else {
    Write-Host "5GB 이상의 대용량 메일박스가 없습니다." -ForegroundColor Green
}

 

 

7. 아카이브 메일박스 용량 확인

아카이브 기능을 사용하는 경우 별도로 확인해야 합니다:

# 아카이브 메일박스 용량 확인
Get-MailboxStatistics -Identity "user@contoso.com" -Archive | 
Select-Object DisplayName, TotalItemSize, ItemCount

# 아카이브가 활성화된 모든 메일박스 조회
Get-Mailbox -Archive | Get-MailboxStatistics -Archive | 
Select-Object DisplayName, TotalItemSize | 
Sort-Object TotalItemSize -Descending

 

 

8. 메일박스 할당량(Quota) 정보 함께 확인

메일박스 용량과 함께 설정된 할당량도 확인하면 더욱 유용합니다:

Get-Mailbox -ResultSize Unlimited | ForEach-Object {
    $Stats = Get-MailboxStatistics $_.Identity
    [PSCustomObject]@{
        'Display Name' = $_.DisplayName
        'Current Size (GB)' = [math]::Round($Stats.TotalItemSize.Value.ToGB(), 2)
        'Warning Quota' = $_.IssueWarningQuota
        'Send Quota' = $_.ProhibitSendQuota
        'Send/Receive Quota' = $_.ProhibitSendReceiveQuota
        'Storage Status' = $Stats.StorageLimitStatus
    }
} | Format-Table -AutoSize

 

 

주요 명령어 비교표

구분 Exchange Server Exchange Online 용도
기본 조회 Get-MailboxStatistics Get-EXOMailboxStatistics 개별/전체 메일박스 통계
메일박스 목록 Get-Mailbox Get-EXOMailbox 메일박스 기본 정보
아카이브 조회 Get-MailboxStatistics -Archive Get-EXOMailboxStatistics -Archive 아카이브 메일박스 통계
폴더별 통계 Get-MailboxFolderStatistics Get-EXOMailboxFolderStatistics 폴더별 상세 정보

 

 

Exchange 서버의 메일박스 용량을 확인하는 방법은 관리자의 선호도와 상황에 따라 다양하게 선택할 수 있습니다. PowerShell을 이용한 방법이 가장 강력하고 자동화가 가능하지만, GUI 환경을 선호한다면 Exchange 관리 센터나 Microsoft 365 관리 센터를 활용하는 것도 좋은 방법입니다. 정기적인 메일박스 용량 모니터링을 통해 서버 성능을 최적화하고, 사용자들의 메일 환경을 원활하게 유지할 수 있기를 바랍니다.

 

댓글 남기기