הפקודה PowerShell Get-MessageTrace יכולה לעזור למנהלי Office 365 לעקוב אחר המשלוח ועיבוד הודעות הדואר האלקטרוני שעשויות לא להגיע לתיבות הדואר של המשתמשים שלהם. במאמר זה, אני אראה לך כיצד להשתמש בפקודת Get-MessageTrace כדי לנהל ולנתח מעקבי הודעות דואר אלקטרוני ב-Office 365.
שימוש בפקודת PowerShell Get-MessageTrace עם Exchange Online
הפקודה Get-MessageTrace היא האמצעי ברירת המחדל למנהלים לנתח ולנהל תעבורת דואר אלקטרוני בתוך Exchange Online. אך, פקודת זו של PowerShell זמינה רק בסביבות Exchange Online (חלק מ-Office 365).
בסביבת Exchange המותקנת באופן מקומי, פקודת PowerShell של Get-MessageTrace אינה זמינה, והאלטרנטיבה שלך היא פקודת Get-MessageTrackingLog. פקודת PowerShell של Get-MessageTrace מספקת תכונה דומה לעמיתתה המותקנת באופן מקומי, אך שוב, פקודת זו מיועדת במיוחד לסביבות הענן המבוססות על Office 365.
מעקב אחר הודעות ב-Exchange המותקנת באופן מקומי לעומת Exchange Online: הבדלים עיקריים
- סביבה: Exchange המותקנת באופן מקומי עוסקת בשרתי הארגון עצמם, בעוד ש-Exchange Online היא שירות מבוסס ענן המסופק על ידי Microsoft.
- אינטגרציה: ב-Exchange Online, הפקודה של Get-MessageTrace משתלבת באופן שולי עם תכונות האבטחה וההתאמה של Office 365, בעוד שבסביבות המותקנות באופן מקומי, יש להשתמש ב-cmdlet של Get-MessageTrackingLog.
- אימות: שיטות האימות והסשני PowerShell ניהלות באופן שונה עקב טבעו המבוסס על הענן של Exchange Online.
- קינון: קינון Exchange Online מיועד לטפס את העומס הגדול של עבודות האימייל מבלי לצורך בשדרוגי חומרה מקומיים.
מתחבר ל־Exchange Online
כאן תוכלו למצוא מדריך מהיר: כדי להשתמש בכל פקודות Exchange Online, עליכם להקים ישיבת PowerShell רחוקה עם הסביבה של Office 365 שלכם. פתחו Windows PowerShell והפעילו את הפקודה הבאה.
Connect-ExchangeOnline

זהו, אתם כבר מכירים את זה, נכון? אם תזדקקו לעזרה נוספת עם הדרישות הנדרשות כדי להתחבר, אנא קראו את הפוסט הקודם שלי על איך להתחבר ל־Exchange Online.
שימוש ב־Get-MessageTrace עם טווח תאריכים ספציפי
ניתן לנתח את תעבורת האימייל בתוך טווח תאריכים ספציפי, משימה מנהלית נפוצה. הפקודה Get-MessageTrace מאפשרת לך לסנן ולבדוק הודעות אימייל בהתבסס על תאריך יצירתן או מסירתן. יש לציין כי ישנו מקסימום של 10 ימים של היסטוריה שבאפשרותכם לגשת אליה באמצעות פקודת PowerShell זו. אם תצטרכו לחקור את זרימת האימייל לפני 10 ימים, תצטרכו להשתמש ב־אתר מרכז מנהלי Exchange ולהפעיל ניטור הודעות לטווח זמן ארוך יותר.
הנה מדריך של שלבים על איך להשתמש בפקודת Get-MessageTrace כדי לחפש הודעות בתוך טווח תאריכים ספציפי.
הדקות האחרונות
הפרמטר 'StartDate' משמש לציון טווח הזמן שבו ברצונך לחפש. ניתן להזין תאריכים (עד למקסימום של 10 ימים). עם זאת, ניתן גם לכלול זמנים. יש לוודא לאטוף את טווחי הזמן/תאריך שלך בסימני מרכאות ("").
בואו ננסה להשתמש בפקודת Get-MessageTrace כדי לחפש דואר אלקטרוני ב-90 הדקות האחרונות:
Get-MessageTrace -StartDate "08/15/2023 10:45 AM" -EndDate "08/15/2023 12:15 PM"

I’ll remind you that I am using my Microsoft 365 Developer tenant, so there’s not a lot of email activity occurring. If you get no output, it simply means that no email traffic records were returned. This can be completely normal.
ניתן גם להשתמש בפקודת PowerShell מעט יותר מתוחכמת כדי לחזור לפני 45 דקות בצורה הבאה:
Get-MessageTrace -StartDate (Get-Date).AddMinutes(-45) -EndDate (Get-Date)
אפשר לי לשלוח מספר מיילים כדי שתוכל לראות איך הפלט יעבוד בסביבתך.
השעות האחרונות
עכשיו, זה חשוב – Exchange Online כמעט בוודאות תרשום את זמני מסירת האימיילים ב-UTC! לכן, עלי להתאים את זמני סיום הקצה שלי, ואראה לך איך לעשות זאת.
בוא נחפש אחורה ל-8 או 9 שעות האחרונות:
Get-MessageTrace -StartDate "08/15/2023 10:45 AM" -EndDate "08/15/2023 7:00 PM"

הנה לך! זה מראה אימייל מחשבון אחר לחשבון המנהל הגלובלי הראשי שלי. בעודי מקליד את זה, שלחתי את האימייל בסביבות 12:15 PM (CDT). אך, UTC מקדימה ב-5 שעות. זה הסיבה שהשורת האימייל מדווחת על מסירה ב-5:16 PM (UTC). יש לשמור על ההבדל הזמן בראש!
הימים האחרונים
אף על פי שאין לי היסטוריית מסירת אימיילים, אני עדיין יכול להראות לך את הפקודה. אם ברצונך להציג את כל האימיילים שעברו דרך Exchange Online, ניתן פשוט לכלול את התאריכים.
Get-MessageTrace -StartDate 08/05/2023 -EndDate 08/15/2023

הנה אנחנו הולכים. מכיוון שיש לי Azure AD Connect Cloud Sync מוגדר במנהל זה, אני מקבל דוא"ל שבועי עם עדכוני מצב. הדוא"ל נשלח ב-8/8/2023.
שוב, תזכורת, אתה יכול לחפש רק עד 10 ימים אחורה. אם אתה רוצה לחקור יותר עמוק בזמן, יהיה עליך להשתמש בתכונת מעקב אחר הודעות באתר מרכז הניהול של Exchange. שם, תוכל ליצור בקשה כדי לחפש אחורה עד 90 ימים.
שימוש בפקודת Get-MessageTrace לחיפוש לפי כתובת הדוא"ל של השולח
זיהוי הודעות שנשלחו על ידי שולח מסוים יכול להיות חיוני למטרות שונות, כגון חקירת דפוסי תקשורת או טיפול בדוחות אבטחה. פקודת ה-Get-MessageTrace מאפשרת לך לחפש עקבות הודעות מכתובת הדוא"ל המסוימת.
הנה כיצד להשתמש בפרמטר '-SenderAddress' לחיפוש עקבות הודעות משולח מסוים:
Get-MessageTrace -SenderAddress "[email protected]"

מעולה, יש עוד אחד. נחמד ואינטuitiv. ועוד טיפ מצוין – אם תעבירו את התוצאות לפאת Format-List בשפת cmdlet, תקבלו סיכום מעולה של התוצאות כולל את מצב השידור, ה-ID של המסר, הערך המעקבי של המסר, הכתובת של השוליית, הכתובת של המקבל והרבה יותר.

בשימוש ב-Get-MessageTrace כדי לחפש על-ידי כתובת המקבל הדיגיטלית
עיוורים של מסרוני דוא״ל הם משימות חשובות נוספות עבור המנהלים. בין אם אתם מנהלים את השידור של הדוא״ל או משדרים את המידע הפרטי לאנשים הנכונים, היכולת לחפש על-ידי כתובת המקבל הדיגיטלית היא שווה מוני.
בואו נהגים בדוגמה, כאן אנחנו נחפש את כל המסרונים שנשלחו אלי… אותי:
Get-MessageTrace -RecipientAddress "[email protected]"

זה מראה שלושה מסרוני דוא״ל שנשלחו אל כתובת הדוא״ל שלי בקנה המשרדי. ודרך אגב, אם לא תכניסו אף-על-פי פרמטרים מקצועיים בזמן, הוא ידווח על 48 שעות האחרונות.
האם אתה יכול להשתמש ב-Get-MessageTrace כדי לחפש על-ידי נושא דוא״ל?
למרבה הצער, אתה לא יכול להשתמש בפקודה Get-MessageTrace כדי לחפש לפי נושא. לשם כך, תרצה להשתמש ב-Microsoft Purview וליצור חיפוש eDiscovery (תוכן). תוכל למצוא מידע נוסף על כך ב-מאמר הקודם שלנו על eDiscovery.
שימוש ב-Get-MessageTrace כדי לחפש לפי כתובת IP מקורית ויעד
אתה יכול גם להשתמש בפקודה Get-MessageTrace כדי לחפש לפי כתובות IP מקוריות ויעד. זה מאפשר לך לעקוב אחר הודעות דואר אלקטרוני בהתאם לכתובות ה-IP של שרתי השליחה והקבלה. זה יכול להיות שימושי במיוחד לאבחון בעיות מסירה, זיהוי פעילות חשודה, והבנת הנתיב שההודעות עוברות דרכו בתשתית הדואר האלקטרוני שלך.
כאן, אנו יכולים גם להשתמש בפרמטרים '-ToIP' ו'-FromIP'. לדוגמה, אם רצינו לחפש את כל האימיילים הבאים מ-IP מקורי 44.42.2.55 ו-IP הציבורי של חומת האש שלנו לקבלת דואר אלקטרוני, 101.3.2.88, היינו יכולים להשתמש בפקודה הבאה כדוגמה.
Get-MessageTrace -ToIP "4.42.2.55" -FromIP "101.3.2.88"

שוב, אין לי תוכן ממש מגניב כאן להראות לך, אבל זה עובד. באמת, זה עובד.
איך להשתמש בסימנים כלליים והתאמות חלקיות
גם ניתן להשתמש בתווים פראיים כדי לצמצם תוצאות ביעילות. למשל, אם קצין הציות שלך רוצה לראות תיעוד של כל الرسائل האלקטרוניות שהועבדו מ-Gmail ב-48 השעות האחרונות מסיבות אבטחה או ציות, זה פשוט מאוד!
Get-MessageTrace -SenderAddress *@gmail.com
ראה, זה מאוד קל לעשות. ואתה יכול לעשות את אותו הדבר למקבלי הודעות. אם תרצה לראות את כל הדואר האלקטרוני שנשלח לכל מי שיש לו כתובת דואר אלקטרוני שמתחילה באות "m", נסה את הפקודה הבאה:
Get-MessageTrace -RecipientAddress m*@x3v6p.onmicrosoft.com
זה גם מאוד ישיר.
איך לקבל תוצאות מפורטות יותר עם Get-MessageTraceDetail
אם אתם מעוניינים להרחיב את הפלט של פקודת Get-MessageTrace, תשמחו לדעת que הפקודה Get-MessageTraceDetail מרחיבה את זה ומציגה אירועי עיבוד ומסירה בודדים עבור עסקה בדואר אלקטרוני. אתן לך דוגמה.
ראשית, אבצע את פקודת Get-MessageTrace ואעביר אותה ל- 'Format-List' (fl) כדי לקבל פרטים.
Get-MessageTrace | fl

כאן, אנחנו יכולים לראות מעט פרטים על 4 מסמכים דוא "" ל ב-48 שעות האחרונות. אז, מה שאנחנו יכולים לעשות הוא לתפוס את המזהה של המסר וכתובת המקבל מהמסר השני ולהשתמש בפקודה הבאה:
Get-MessageTraceDetail -MessageTraceID e4f33ded-b67f-49b8-9a00-08db9dbb953a -RecipientAddress [email protected]

כאן, אנחנו יכולים לראות את שלושת האירועים המרכזיים שמהם מורכבת השליחה והקבלה של מסר דוא "" ל מהאינטרנט לתוך המיילבוック המקורי של מגן. מספיק פרטים כאן. זה יכול בעיניים להראות אם מסר נותן ישר לתוך תיבת הדוא "" ל הזבל של משתמש, או אם הוא הועבר אוטומטית לתוך תיבה דוא "" ל פנימית (או חיצונית). במצב כלל, זה מידע מאוד שימושי עבור מומחי המערכות המקוונות ואדמיניסטרטורים של האקסצChange.
איך לייצא תוצאות לקובץ CSV
לרוב, תהיו מבצעים חיפושים שיפירו רשימות רבות של ערכים. בהחלט תרצו להשתמש בExcel כדי לנתח ולסנן את התוצאות. כדי לעשות את זה, פשוט תעבירו את התוצאות שלך דרך הפקודה Export-CSV בדוגמה הבאה:
Get-MessageTrace | Export-CSV AllEmailsInLast48Hours.csv

זה לקח רק דקות ספורות. מצוין!
איך לבצע חיפושים מתקדמים בעזרת Group-Object
אתה יכול להשתמש בGroup-Object כדי לקבל ראייה רמה גבוהה יותר של השליחת האימיילים שלנו.
משדרים האימיילים הכי פעילים
אתה יכול להשתמש בהגיעה הבאה כדי למצוא את המשתמשים ששלחו את המילים הכי הרבה ב-7 הימים האחרונים. תנו לי להראות לך את ההגיעה, ואז אסביר אותה.
Get-MessageTrace -StartDate (Get-Date).AddDays(-10) -EndDate (Get-Date) | Group-Object -Property SenderAddress | Select Name,Count | Sort Count -Descending

פה, אנחנו קובעים רשימה מלאה של כל האימיילים שנעברו ב-10 הימים האחרונים. אחר כך, אנחנו לוקחים את היציאה הזו ומשתמשים בפקודה Group-Object, משתמשים בתכונה 'SenderAddress', מקבלים את הספירה (מספר האימיילים), ומסדרים אותם בסדר הגבוה ביותר.
מקבלים שקיבלו את המילים הכי הרבה
באופן דומה, אנחנו יכולים לאסוף בקצב גבוה משתמשים שקיבלו את המילים הכי הרבה ב-10 הימים האחרונים על-ידי הבצע אותה ההגיעה האותה והחלפה בתכונה 'SenderAddress' עם 'RecipientAddress'. בואו נראה מה קורה:
Get-MessageTrace -StartDate (Get-Date).AddDays(-10) -EndDate (Get-Date) | Group-Object -Property RecipientAddress | Select Name,Count | Sort Count -Descending

I do love how powerful and simple PowerShell can be. Now, we have the information. Again, the data in this tenant is VERY low. You will undoubtedly see more robust results when you run these commands in your tenant.
הפקודה Get-MessageTrace מציעה גמישות ושליטה
בין אם תצטרך לחפש בתוך טווח תאריכים מסוים, לזהות עקבות הודעות משולח מסוים או לעקוב אחרי עקבות הודעות שנשלחו לנמען מסוים, הפקודה Get-MessageTrace מספקת את הגמישות והשליטה שנדרשת לך. בנוסף, היכולת לייצא תוצאות לקובץ CSV משפרת את יכולתך לנתח ולתיעוד דפוסים של תקשורת דואר אלקטרוני. על ידי למידת שימוש מתוחזקת בפקודה Get-MessageTrace, תוכל לנהל ביעילות את תעבורת הדואר האלקטרוני ולקבל תובנות יקרות לגבי פעילויות התקשורת של הארגון שלך.