On-Premises Exchange Server (2013, 2016, 2019) üzerinde tüm kullanıcıların mailbox boyutlarını görmek için PowerShell kullanabilirsin.
📌 Exchange PowerShell’e Bağlanma (EMS)
Öncelikle Exchange Management Shell (EMS) veya PowerShell üzerinden Exchange’e bağlanmalısın.
1️⃣ Exchange Management Shell (EMS) Kullanarak Bağlan
Eğer Exchange Server üzerinde oturum açtıysan, Exchange Management Shell’i (EMS) aç ve doğrudan komutları çalıştır.
2️⃣ Harici Bir Bilgisayardan Exchange’e Bağlan
Eğer Exchange sunucusuna uzaktan bağlanıyorsan, aşağıdaki komutları kullanarak PowerShell üzerinden Exchange’e bağlanabilirsin:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://ExchangeServer/PowerShell/ -Authentication Kerberos
Import-PSSession $Session -DisableNameChecking
📌 “ExchangeServer” kısmını kendi Exchange sunucu adresinle değiştir.
📌 Bağlantı başarılı olursa aşağıdaki komutları çalıştırabilirsin.
📌 1️⃣ Tüm Kullanıcıların Mailbox Boyutlarını Listeleme
Get-MailboxStatistics -Database "Mailbox Database" | Select-Object DisplayName, TotalItemSize, ItemCount
📌 Bu komut belirli bir Exchange Mailbox Database içindeki tüm kullanıcıları listeler.
📌 “Mailbox Database” yerine kendi veritabanı adını yaz.
📌 Çıktıda kullanıcının adı, toplam mailbox boyutu ve içindeki e-posta sayısı görüntülenir.
📌 2️⃣ Tüm Kullanıcıların Mailbox Boyutlarını Sunucu Bağımsız Listeleme
Eğer tüm veritabanlarını tarayarak tüm kullanıcıları listelemek istersen:
powershellCopyEditGet-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select-Object DisplayName, TotalItemSize, ItemCount | Sort-Object TotalItemSize -Descending
📌 Bu komut, tüm mailbox’ları tarayarak en büyükten en küçüğe doğru sıralar.
📌 3️⃣ Mailbox Boyutlarını GB Cinsinden Görmek
Eğer boyutları GB (Gigabyte) formatında görmek istiyorsan:
Get-MailboxStatistics -Database "Mailbox Database" | Select-Object DisplayName, @{Name="MailboxSizeGB";Expression={[math]::Round(($_.TotalItemSize -replace '[^0-9.]','') / 1GB, 2)}}, ItemCount
📌 Bu komut, mailbox boyutlarını GB cinsinden gösterir ve virgülden sonra 2 basamaklı yuvarlar.
📌 4️⃣ Tüm Kullanıcıların Mailbox Boyutlarını CSV Dosyasına Kaydetme
Eğer bu verileri bir CSV dosyasına kaydetmek istersen:
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select-Object DisplayName, TotalItemSize, ItemCount | Export-Csv -Path "C:\MailboxSizes.csv" -NoTypeInformation -Encoding UTF8
📌 Bu komut, mailbox boyutlarını C:\MailboxSizes.csv
dosyasına kaydeder ve Excel’de açılabilir.
📌 5️⃣ Belirli Bir Kullanıcının Mailbox Boyutunu Görmek
Eğer sadece belirli bir kullanıcının mailbox boyutunu öğrenmek istiyorsan:
Get-MailboxStatistics -Identity "kullanici@domain.com" | Select-Object DisplayName, TotalItemSize, ItemCount
📌 “kullanici@domain.com” yerine kullanıcının e-posta adresini yaz.
📌 6️⃣ 2 GB’tan Büyük Mailbox’ları Listeleme
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Where-Object {($_.TotalItemSize -replace '[^0-9.]','') -gt 2GB} | Select-Object DisplayName, TotalItemSize, ItemCount
📌 Bu komut, 2 GB’tan büyük olan tüm mailbox’ları listeler.
📌 7️⃣ Belirli Bir Kullanıcının En Büyük 10 Klasörünü Görme
Eğer belirli bir kullanıcının mailbox’ındaki en büyük 10 klasörü görmek istersen:
Get-MailboxFolderStatistics -Identity "kullanici@domain.com" | Sort-Object FolderSize -Descending | Select-Object -First 10 Name, FolderSize
📌 Bu komut, kullanıcının en büyük 10 klasörünü sıralar.
📌 Sonuç
✅ Exchange Server’da tüm kullanıcıların mailbox boyutlarını kolayca listeleyebilirsin.
✅ Mailbox boyutlarını CSV olarak dışa aktararak raporlama yapabilirsin.
✅ Belirli bir kullanıcının mailbox boyutunu veya en büyük klasörlerini görüntüleyebilirsin.
✅ Büyük boyutlu mailbox’ları analiz ederek, depolama politikalarını optimize edebilirsin.
🚀 Özetle: Bu PowerShell komutları ile Exchange Server üzerinde mailbox boyutlarını yönetmek ve analiz etmek çok daha kolay hale gelir!