Exchange 서버를 관리하다 보면 메일박스의 용량을 정기적으로 확인해야 할 상황이 자주 발생합니다. 특정 사용자의 메일박스가 너무 크거나, 서버 성능에 영향을 미치는 대용량 메일박스를 찾아야 할 때, 또는 저장소 할당량 관리를 위해 전체 메일박스 용량 현황을 파악해야 할 때가 그렇죠. 오늘은 Exchange Server(온프레미스)와 Exchange Online에서 메일박스 용량을 확인하는 다양한 방법들을 단계별로 정리해드리겠습니다.
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 온프레미스
- Exchange 관리 센터 접속
- 웹 브라우저에서
https://서버주소/ecp
또는https://서버주소/exchange
접속 - 관리자 계정으로 로그인
- 웹 브라우저에서
- 메일박스 정보 확인
- 왼쪽 메뉴에서 받는 사람 → 사서함 클릭
- 확인하고 싶은 사용자를 선택
- 오른쪽 세부 정보 창에서 메일박스 사용량 확인
Exchange Online
- Exchange 관리 센터 접속
- https://admin.exchange.microsoft.com 접속
- Microsoft 365 관리자 계정으로 로그인
- 메일박스 용량 확인
- 받는 사람 → 사서함 메뉴 선택
- 사용자를 클릭하면 오른쪽에 메일박스 정보 표시
5. Microsoft 365 관리 센터 활용
Exchange Online 사용자라면 Microsoft 365 관리 센터에서도 메일박스 사용량을 확인할 수 있습니다.
사용 현황 보고서로 확인
- Microsoft 365 관리 센터 접속
- 사서함 사용량 확인
- 보고서 → 사용 현황 클릭
- 전자 메일 활동 → 자세히 보기
- 상단의 사서함 사용량 탭 선택
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 관리 센터를 활용하는 것도 좋은 방법입니다. 정기적인 메일박스 용량 모니터링을 통해 서버 성능을 최적화하고, 사용자들의 메일 환경을 원활하게 유지할 수 있기를 바랍니다.