Get-MessageTrackingLog: יומני מעקב אחר הודעות חיפוש ב- Exchange Server


באפשרותך להשתמש ב- cmdlet Get-MessageTrackingLog במעטפת ניהול Exchange כדי לנתח זרימת דואר, זיהוי פלילי של הודעות ולקבל מידע שונה אודות הודעות שנשלחו או התקבלו על-ידי תיבת דואר ספציפית בארגון הדואר האלקטרוני שלך. במאמר זה, אציג מספר דוגמאות של פקודות שורה אחת של PowerShell שבהן אני משתמש לעתים קרובות כדי לעקוב אחר הודעות ב- Exchange Server 2016/2013/2010 וב- Office 365 (Exchange Online).

תן לי להזכיר לך כי יומני התעבורה Exchange ממוקמים ב

%ExchangeInstallPath%TransportRoles\Logs\MessageTracking

תיקיה. והדרך היעילה והגמישה ביותר לנתח יומני מעקב אחר הודעות ב- Exchange היא להשתמש ב- cmdlet Get-MessageTrackingLog.

קודם כל, שקול את הפרמטרים העיקריים Get-MessageTrackingLog שבהם אתה יכול להשתמש כדי לסנן אירועים ביומנים. פרמטרי ה- cmdlet הבאים משמשים בתדירות הגבוהה ביותר:

Sender

- חיפוש לפי שולח;

Recipients

— חיפוש לפי נמען;

Server

- חיפוש בשרת התחבורה הספציפי;

Start “11/30/2019 08:00:00” -End “12/18/2019 21:00:00”

— לחפש את פרק הזמן הספציפי;

MessageSubject

— חיפוש לפי נושא ההודעה;

EventID

- חיפוש לפי אירוע Exchange (ככלל, הקודים הבאים משמשים: לקבל, לשלוח, להיכשל, DSN, למסור, BADMAIL, לפתור, להרחיב, להפנות מחדש, להעביר, להגיש, להרעיל, לדחות);

messageID

- מעקב לפי מזהה הודעה.

אם תפעיל את cmdlet Get-MessageTrackingLog ללא פרמטרים, יוצגו כל האירועים מיומני התעבורה של Exchange עבור 30 הימים האחרונים. ה- cmdlet מציג את 1,000 האירועים האחרונים בלבד. כדי להסיר הגבלה זו, השתמש בלחצן

-ResultSize Unlimited

פרמטר. (לא מומלץ לעשות זאת ללא פרמטרים נוספים של סינון עקב עומס פוטנציאלי גבוה על שרת התעבורה שלך.)

באפשרותך להציג את המידע אודות אירועי Exchange שלך דף אחר דף באמצעות פקודה זו:

Get-MessageTrackingLog | Out-Host -Paging

כדי להציג את הנתונים בתבנית הטבלה ולהתאים את רוחב העמודה, נעשה שימוש ב- cmdlet Format-Table:

Get-MessageTrackingLog | Format-Table -AutoSize

אם נעשה שימוש במספר שרתי תעבורת רכזת בארגון Exchange שלך, יהיה עליך לציין את שם השרת לחיפוש כארגומנט של

-Server

פרמטר. לחלופין, הפעל את פקודת המעקב אחר הודעות עבור כל אחד משרתי תעבורת הרכזת שלך באמצעות הצינור:

Get-TransportServer | Get-MessageTrackingLog

בואו נציג את כל הודעות הדוא"ל עבור 24 השעות האחרונות (

(Get-Date).AddHours(-24)

), שבו מצוין נמען מתחום @gmail.com:

Get-MessageTrackingLog -Start (Get-Date).AddHours(-24) -ResultSize unlimited | where {[string]$_.recipients -like "*@gmail.com"}

כדי להציג את כל הודעות הדוא"ל שנשלחו על ידי המשתמש הספציפי דרך השרת המסוים בפרק זמן נתון, השתמש בפקודה הבאה (רק שדות המעקב הספציפיים יוצגו בדוח):

Get-MessageTrackingLog -ResultSize unlimited -Sender "cmansion@a-d.site” -server rome-hub-01 -Start "11/30/2019 06:00:00" -End "12/13/2019 22:00:00" |select-object Timestamp,Sender,Recipients,MessageSubject,EventId|ft

בוא נמצא את כל הודעות הדוא"ל שנשלחו על ידי משתמש למשתמש אחר ונייצא את תוצאות החיפוש לקובץ CSV:

Get-MessageTrackingLog -Sender "cmansion@a-d.site" -Recipients "amorato@a-d.site" -ResultSize unlimited -server rome-hub-01| Select-Object Timestamp,Sender,{$_.recipients},MessageSubject | Export-Csv -Path "C:\Export\exchange\exchange_tracking_logs.csv" -Encoding Default -Delimiter ";"

באפשרותך לחפש לפי נושא ההודעה. כדי להציג את כל הודעות הדוא"ל עם המילה "בדיקה" בשדה הנושא, הפעל את הפקודה הבאה. (כדי להציג את התוצאות בחלון גרפיקה נפרד כטבלה עם תכונות המיון, הסינון והחיפוש הנוחות, באפשרותך להשתמש ב- cmdlet Out-gridview).

Get-MessageTrackingLog -MessageSubject "test" -ResultSize unlimited -server rome-hub-01| Select-Object Timestamp,Sender, {$_.recipients}, MessageSubject | out-gridview

באפשרותך לחפש לפי מזהה ההודעה הספציפי (באפשרותך לקבל אותו מכותרת ההודעה ב- Outlook):

Get-MessageTrackingLog -messageID "41A4321C3543314FFFFF23122F2BDB7ABD00342@rome-hub-01.a-d.site" -ResultSize unlimited -server rome-hub-01| Select-Object Timestamp,Sender, {$_.recipients}, MessageSubject

כדי לספור את מספר הודעות הדואר האלקטרוני הנכנסות עבור תיבת הדואר הספציפית עבור 7 הימים האחרונים, הפעל את הפקודה הבאה:

(Get-MessageTrackingLog -EventID "RECEIVE" -Recipients "amorato@a-d.site" -ResultSize unlimited).Count

באפשרותך להציג את הנתונים הסטטיסטיים המעניינים יותר של הודעות. לדוגמה, ברצונך לראות כמה הודעות דואר אלקטרוני משולחים שונים מתוך

gmail.com

התקבלו על ידי משתמשי החברה שלך במהלך 5 הימים האחרונים (נציג את המספר הכולל של הודעות דוא"ל שנשלחו על ידי כל שולח חיצוני):

Get-MessageTrackingLog -EventId "Receive" -Start (Get-Date).AddDays(-5) -ResultSize Unlimited | Where-Object {$_.Sender -like "*@gmail.com"} | Group-Object Sender | Sort-Object Count -Descending | Format-Table *

כדי לחפש הודעות דואר אלקטרוני המאוחסנות בתיבות הדואר של משתמשי Exchange, השתמש ב- cmdlet Search-Mailbox.

Office 365 מאפשר לך לבצע חיפוש ביומני רישום של מעקב אחר הודעות ממרכז הניהול של Exchange (EAC). עבור אל זרימת דואר -> מעקב אחר הודעות. מלא את שדות החיפוש. זהו למעשה ממשק האינטרנט עבור cmdlet Get-MessageTrackingLog, המאפשר למשתמש ליצור פקודת מעקב PowerShell בטופס אינטרנט פשוט.

השיטות הנחשבות לעיל יסייעו לך לקבל את הנתונים הסטטיסטיים על הודעות שנשלחו והתקבלו במערכת Exchange שלך ולאבחן בעיות שונות בתעבורת דואר אלקטרוני.