חיפוש רשימות תפוצה לא פעילות (שאינן בשימוש) ב- Exchange/Microsoft 365
בתוך ארגון Exchange או דייר Exchange Online (Microsoft 365), באפשרותך ליצור מאות קבוצות תפוצה (רשימות תפוצה, DL). רשימות תפוצה שאינן בשימוש צריכות להיות מוסרות מעת לעת על-ידי מנהל Exchange. במאמר זה, נראה לך כיצד לחפש ולמחוק קבוצות תפוצה ריקות שאינן בשימוש ב- Exchange.
חיפוש רשימות תפוצה שאינן בשימוש שונה מחיפוש משתמשים או מחשבים לא פעילים של AD. Exchange DL אינו כולל תכונה כגון LastLogonDate/LastLogonTimeStamp כדי לעקוב אחר מועד השימוש האחרון באובייקט. באפשרותך להשתמש ביומני מעקב של Exchange כדי לקבוע אם הודעות דואר אלקטרוני נשלחו לקבוצת תפוצה מסוימת.
הצגת קבוצות תפוצה ריקות ב- Exchange באמצעות PowerShell
אם אין משתמשים בקבוצת התפוצה, סביר להניח שאין בה עוד צורך.
באפשרותך להשתמש ב- PowerShell כדי לאתר קבוצות תפוצה ריקות בארגון Exchange. התחבר לשרת Exchange באמצעות PowerShell והפעל את הקו האחד הבא:
Get-DistributionGroup -ResultSize Unlimited |Where-Object { (Get-DistributionGroupMember -Identity $_.Name -ResultSize Unlimited).Count -eq 0} | select Name, PrimarySmtpAddress
נתח את הרשימה המתקבלת של קבוצות תפוצה והסר (הסתר) את קבצי ה- DL שאינך זקוק להם באמצעות
Remove-DistributionGroupפקודה.
באופן דומה, באפשרותך להשתמש ב- Get-DynamicDistributionGroup כדי למצוא קבצי DL דינאמיים ריקים:
Get-DynamicDistributionGroup -ResultSize Unlimited | Where-Object { (Get-Recipient -RecipientPreviewFilter (Get-DynamicDistributionGroup -Identity $_.Identity).RecipientFilter).count -eq 0} | select Name, PrimarySmtpAddressכיצד למצוא קבוצות תפוצה לא פעילות ב- Exchange Server
cmdlet Get-MessageTrackingLog משמש ב- Exchange Server לניתוח יומני תעבורה. לדוגמה, באפשרותך לספור את מספר הודעות הדואר האלקטרוני שנשלחו לקבוצת תפוצה במשך 90 הימים האחרונים באמצעות הפקודה הבאה:
Get-MessageTrackingLog -Start (Get-Date).AddDays(-90) -ResultSize unlimited -Recipients "dl-it_admins@a-d.site"| measure-objectבאפשרותך להשתמש בפקודה הבאה כדי להגדיל את תקופת השמירה עבור יומני המעקב אחר דואר אלקטרוני ב- Exchange Server ל- 180 יום:
Set-TransportService MUN-Ex01 -MessageTrackingLogMaxAge 180.00:00:00כדי למצוא קבוצות תפוצה שאינן בשימוש, באפשרותך להשתמש בקובץ ה-script הבא של PowerShell:
קבל רשימה של כל קבוצות התפוצה בתחום וייצא אותה לקובץ CSV:
Get-DistributionGroup | Select-Object PrimarySMTPAddress | Sort-Object PrimarySMTPAddress | Export-CSV all-exchange-dls.csv -notypeפרט קבצי DL שקיבלו הודעות דואר אלקטרוני ב- 30 הימים האחרונים:
Get-MessageTrackingLog -Start (Get-Date).AddDays(-30) -EventId Expand -ResultSize Unlimited |Sort-Object RelatedRecipientAddress | Group-Object RelatedRecipientAddress |Sort-Object Name | Select-Object @{label= "PrimarySmtpAddress";expression={$_.Name}}, Count | Export-CSV exchange-active-dls.csv -notypeאם לארגון Exchange שלך יש יותר משרת אחד עם תפקיד תעבורה (באפשרותך לקבל רשימה שלו באמצעות
Get-TransportService), יהיה עליך לחפש כל אחד מהם:
Get-MessageTrackingLog -Server Exh01 …-
לאחר מכן השווה בין שתי הרשימות ומצא קבוצות לא פעילות:
$alldl = Import-CSV -Path all-exchange-dls.csv $activedl = Import-CSV -Path exchange-active-dls.csv Compare-Object $alldl $activedl -Property PrimarySmtpAddress -SyncWindow 500 |Sort-Object PrimarySmtpAddress | Select-Object -Property PrimarySmtpAddress |Export-Csv inactive-dls.csv -NoType באפשרותך להסתיר קבוצות תפוצה שאינן בשימוש ברשימת הכתובות הכללית:
$currentdate = Get-Date $notes = "Inactive: hidden in the address list at $currentdate" $inactiveDL = Import-CSV -Path inactive-dls.| foreach-object { Set-Group -identity $_.PrimarySmtpAddress -notes $notes Set-DistributionGroup -identity $_.PrimarySmtpAddress -HiddenFromAddressListsEnabled $true }
זיהוי רשימות תפוצה לא פעילות ב- Microsoft 365 (Exchange Online)
ב- Microsoft 365, באפשרותך לעקוב אחר יומני דואר אלקטרוני באמצעות מרכז הניהול של Exchange (זרימת דואר -> מעקב אחר הודעות) או באמצעות
Start-HistoricalSearchאו
Get-MessageTraceרכיבי cmdlet של PowerShell. לפקודה האחרונה יש מגבלה משמעותית - היא מאפשרת לך לחפש רק הודעות דואר אלקטרוני שנשלחו בעשרת הימים הקודמים. זה לא מתאים למשימה שלנו.
התקן את מודול Exchange Online PowerShell (EXO) והתחבר לדייר שלך:
Connect-ExchangeOnlineהפקודה הבאה מציגה את מספר הודעות הדואר האלקטרוני שנשלחו לכתובת SMTP של רשימת תפוצה:
Start-HistoricalSearch -ReportTitle "Global Admin DL" -StartDate 04/20/2023 -EndDate 06/20/2023 -ReportType MessageTrace -RecipientAddress global_admins@ a-d.site -NotifyAddress maxb@a-d.siteיש מקסימום של 250 חיפושי היסטוריה לכל פרק זמן של 24 שעות שיכולים לשמש דייר יחיד.
כדי להתחיל בחיפוש אחר קבצי DL לא פעילים, באפשרותך להשתמש בסקריפט הבא::
foreach ($group in Get-DistributionGroup)
{
Start-HistoricalSearch -ReportTitle $group.PrimarySmtpAddress -StartDate 04/20/2023 -EndDate 06/21/2023 -ReportType MessageTrace -RecipientAddress $group.PrimarySmtpAddress -NotifyAddress maxb@a-d.site
}לאחר השלמת החיפוש, תוכל לבדוק כמה הודעות דואר אלקטרוני נשלחו אל DL:
Get-HistoricalSearch "Global Admin DL"
אם רשימת ההודעות ריקה (
Rows = 0), משמעות הדבר היא שקבוצת התפוצה לא הייתה בשימוש ב- Exchange Online ב- 90 הימים האחרונים. רשימת תפוצה כזו עשויה להיחשב לא פעילה.
באפשרותך להשתמש בקבוצות Microsoft 365 במקום ברשימות תפוצה ב- Exchange Online.

