1. Anasayfa
  2. Uncategorized

Exchange Online’da Dağıtım Gruplarının Listelenmesi


Microsoft Exchange Online, organizasyon içi iletişim ve posta grubu yönetimi açısından güçlü araçlar sunar. Özellikle büyüyen yapılarda, kullanıcı sayısı yüksek olan dağıtım gruplarını (Distribution Group – DL) takip etmek ve raporlamak BT yöneticileri için kritik önem taşır.

Bu yazımızda Exchange Online ortamında 30 ve üzeri üyeye sahip olan dağıtım gruplarını nasıl tespit edebileceğinizi ve bu bilgileri nasıl dışa aktarabileceğinizi (export) ele alıyoruz.

İşleme başlamadan önce PowerShell üzerinden Exchange Online PowerShell Modülü ile oturum açmanız gerekmektedir. Aşağıdaki komut ile bağlantı kurabilirsiniz;

Connect-ExchangeOnline -UserPrincipalName admin@domain.com

Oturum açtıktan sonra, dağıtım gruplarını listelemek için komutları çalıştırabilirsiniz.

Aşağıdaki PowerShell komutu, Exchange Online üzerindeki dağıtım gruplarını (MailUniversalDistributionGroup ve MailUniversalSecurityGroup) tarar ve yalnızca üye sayısı 39 ‘un üzerinde olanları listeler;

Get-DistributionGroup | Where-Object {
    ($_.RecipientTypeDetails -eq 'MailUniversalDistributionGroup' -or $_.RecipientTypeDetails -eq 'MailUniversalSecurityGroup') -and
    (Get-DistributionGroupMember $_.Identity -ResultSize Unlimited | Measure-Object).Count -gt 30
} | Select-Object DisplayName, PrimarySmtpAddress, @{
    Name='MemberCount'; 
    Expression={(Get-DistributionGroupMember $_.Identity -ResultSize Unlimited | Measure-Object).Count}
}

u komutun çıktısı:

  • DisplayName: Grup adı
  • PrimarySmtpAddress: Ana e-posta adresi
  • MemberCount: Grup üye sayısı şeklinde olacaktır.

Listeyi dışa aktarmak isterseniz, aşağıdaki komutu kullanarak veriyi bir .csv dosyasına kaydedebilirsiniz.

Get-DistributionGroup | Where-Object {
    ($_.RecipientTypeDetails -eq 'MailUniversalDistributionGroup' -or $_.RecipientTypeDetails -eq 'MailUniversalSecurityGroup') -and
    (Get-DistributionGroupMember $_.Identity -ResultSize Unlimited | Measure-Object).Count -gt 30
} | Select-Object DisplayName, PrimarySmtpAddress, @{
    Name='MemberCount'; 
    Expression={(Get-DistributionGroupMember $_.Identity -ResultSize Unlimited | Measure-Object).Count}
} | Export-Csv -Path "C:\Temp\DGroups_30Plus.csv" -NoTypeInformation -Encoding UTF8

Bu komutun çalışması sonucunda, C:\Temp\DGroups_30Plus.csv dizininde, grup adı, e-posta adresi ve üye sayısı bilgilerinin yer aldığı bir dosya oluşacaktır.

  • ResultSize Unlimited parametresi, tüm üyeleri döndürmesi açısından önemlidir. Aksi halde varsayılan olarak sadece ilk 1000 sonuç döndürülür.
  • Büyük yapılarda bu komutun çalışması zaman alabilir. Performans açısından dikkat edilmelidir.
  • CSV dosyası Excel ile kolayca açılıp filtrelenebilir, bu da raporlama için avantaj sağlar.