Exchange Online İleti İzlemeleri Şirket İçi Aramalardan Farklıdır
Bulutta E-postaları İzleme
On yıl önce Paul Cunningham, taşıma hizmetinden geçerken günlüğe kaydedilen e-postaların ayrıntılarını bulmak için Exchange Server mesaj izleme günlüklerini PowerShell ile nasıl arayacağınızı anlattı. Bu makale, Exchange Online'da bulunmayan Get-MessageTrackingLog cmdlet'ine odaklanmaktadır. Get-MessageTrace cmdlet'inin işin ağır kısmını üstlendiği bulutta Exchange Online ileti izlemelerini çalıştırmak ve iletileri bulmak için farklı bir tekniğe ihtiyaç vardır. Exchange yönetici merkezi GUI'si aracılığıyla bir mesaj izleme çalıştırabilseniz de, izlemeleri PowerShell aracılığıyla çalıştırmak, sonuçları diğer cmdlet'lere yönlendirmenize, raporlar oluşturmanıza vb. olanak tanır (burada, harici e-posta).
Unutulmaması gereken önemli bir nokta da Get-MessageTrace'in, iletiler gönderildikten sonra on güne kadar iletilerle ilgili bilgileri döndürebilmesidir. Bundan sonra Start-HistoricalSearch cmdlet'inin kullanılması gerekir. Diğer bir nokta da, Exchange Online'ın iletinin ilerleyişini takip edebilmesi için ileti gönderildikten sonra birkaç dakika geçmesi gerektiğidir.
Paul'un makalesi, test senaryosu olarak üç alıcıya gönderilen maaş bordrosu raporuyla ilgili bir e-postayı kullandı. Şekil 1 benim örneğimi göstermektedir:
Gönderenin E-posta Adresine Göre Exchange Çevrimiçi Mesaj Takibi
Herhangi bir aramanın getirdiği sonuçlar, öğeleri bulmak için kullanılan ölçütlere bağlıdır. Başlangıç olarak, kullanıcının birincil SMTP adresini Gönderen parametresine ekleyerek kullanıcının gönderdiği mesajı bulabiliriz.
Get-MessageTrace -SenderAddress Terry.Hegarty@office365itpros.com -StartDate (Get-Date).AddHours(-1) -EndDate (Get-Date)
Received Sender Address Recipient Address Subject
-------- -------------- ----------------- -------
11/06/2022 10:24:22 Terry.Hegarty@office365itpros.com james.ryan@office365itpros.com Attention: May Payroll Details
11/06/2022 10:24:22 Terry.Hegarty@office365itpros.com chris.bishop@office365itpros.com Attention: May Payroll Details
11/06/2022 10:24:22 Terry.Hegarty@office365itpros.com brian.weakliam@office365itpros.com Attention: May Payroll Details
Bu bilgiler, Exchange aktarım sisteminin iletiyi nasıl işlediğine ilişkin olarak Get-MessageTrackingLog cmdlet'inin sunduğu bilgilerin aynısını vermez. Belirli bir işleme durumuna sahip mesajları döndürmek için aramaya Durum parametresini ekleyebilirsiniz. Örneğin, bu komut yalnızca başarıyla teslim edilen iletileri döndürür. Diğer durum değerleri arasında Başarısız, Beklemede ve Karantinaya Alındı yer alır.
Get-MessageTrace -SenderAddress Terry.Hegarty@office365itpros.com -StartDate (Get-Date).AddHours(-1) -EndDate (Get-Date) -Status Deliveredİşlemedeki adımlar hakkında daha fazla ayrıntı görmek için ileti izleme tanımlayıcısına ihtiyacımız var. Get-MessageTrace siz istemediğiniz sürece mesaj izleme tanımlayıcısını göstermez:
Get-MessageTrace -SenderAddress Terry.Hegarty@office365itpros.com -StartDate (Get-Date).AddHours(-1) -EndDate (Get-Date) | Format-table MessageTraceId, SUbject, RecipientAddress
MessageTraceId Subject RecipientAddress
-------------- ------- ----------------
1b312cde-f274-409e-7350-08da4b948d74 Attention: May Payroll Details james.ryan@office365itpros.com
1b312cde-f274-409e-7350-08da4b948d74 Attention: May Payroll Details chris.bishop@office365itpros.com
1b312cde-f274-409e-7350-08da4b948d74 Attention: May Payroll Details brian.weakliam@office365itpros.com
Artık bir mesaja ne olduğunu öğrenmek için Get-MessageTraceDetail'i çalıştırabiliriz.
Get-MessageTraceDetail -MessageTraceId 1b312cde-f274-409e-7350-08da4b948d74 -RecipientAddress James.Ryan@office365itpros.com
Date Event Detail
---- ----- ------
11/06/2022 10:24:23 Receive Message received by: PAXPR04MB8621.eurprd04.prod.outlook.com
11/06/2022 10:24:23 Submit The message was submitted.
11/06/2022 10:24:27 Deliver The message was successfully delivered.
İletileri Alıcı E-posta Adresine Göre İzleme
Alıcıya göre arama, mesaj alıcısının türü (TO, CC veya BCC) ne olursa olsun çalışır. Burada Chris Bishop'u (bir CC adresi) arıyoruz ve arama başarılı oluyor:
Get-MessageTrace -RecipientAddress Chris.Bishop@office365itpros.com -StartDate (Get-Date).AddHours(-1) -EndDate (Get-Date) | Format-List
Message Trace ID : 1b312cde-f274-409e-7350-08da4b948d74
Message ID : <DB6PR04MB3158B4FBF516094B399D23C0B4A99@DB6PR04MB3158.eurprd04.prod.outlook.com>
Received : 11/06/2022 10:24:22
Sender Address : Terry.Hegarty@office365itpros.com
Recipient Address : chris.bishop@office365itpros.com
From IP : 2a01:cb1d:5b0:1500:fd9f:cfb5:a3e6:e6cb
To IP :
Subject : Attention: May Payroll Details
Status : Delivered
Size : 57013
Alıcı adreslerini virgülle ayırarak birden fazla alıcı SMTP adresi belirleyebilirsiniz. Bunu yaptığınızda koşul “ve” değil “veya” olur. Yani alıcılardan herhangi birine gönderilen her mesaj sonuçlara dahil ediliyor. Bu durumda, biri bordro e-postasındaki alıcı olan iki posta kutusuna gönderilen mesajları ararız. İleti izleme iki iletiyi bulur:
Get-MessageTrace -RecipientAddress Chris.Bishop@office365itpros.com, Ben.Owens@office365itpros.com -StartDate (Get-Date).AddHours(-1) -EndDate (Get-Date) | fl
Message Trace ID : 92827190-e015-4faf-586f-08da4b972420
Message ID : <DB6PR04MB315846EE7664C474A7435554B4A99@DB6PR04MB3158.eurprd04.prod.outlook.com>
Received : 11/06/2022 10:42:54
Sender Address : Terry.Hegarty@office365itpros.com
Recipient Address : ben.owens@office365itpros.com
From IP : 2a01:cb1d:5b0:1500:fd9f:cfb5:a3e6:e6cb
To IP :
Subject : Business Development Meeting
Status : Delivered
Size : 12933
Message Trace ID : 1b312cde-f274-409e-7350-08da4b948d74
Message ID : <DB6PR04MB3158B4FBF516094B399D23C0B4A99@DB6PR04MB3158.eurprd04.prod.outlook.com>
Received : 11/06/2022 10:24:22
Sender Address : Terry.Hegarty@office365itpros.com
Recipient Address : chris.bishop@office365itpros.com
From IP : 2a01:cb1d:5b0:1500:fd9f:cfb5:a3e6:e6cb
To IP :
Subject : Attention: May Payroll Details
Status : Delivered
Size : 57013
Joker Karakter Değerleri veya Kısmi Eşleşmeler için Mesaj İzleme
Get-MessageTrackingLog cmdlet'i, SenderAddress ve RecipientAddress parametrelerine göre joker karakter aramalarını desteklemez. Ancak Get-MessageTrace şuna benzer aramalar gerçekleştirebilir (örnek, tanımlanan dönemde bir microsoft.com adresine gönderilen tüm iletileri bulur):
Get-MessageTrace -RecipientAddress *@microsoft.com -StartDate 3-June-2022 -EndDate 10-June-2022 -Status DeliveredAyrıca gönderen adreslerine karşı joker karakter araması da yapabilirsiniz. Örneğin, geçen hafta quest.com'dan kiracıma teslim edilen tüm mesajları nasıl bulacağım. Sonuçlar, quest.com adreslerinden kiracıdaki posta özelliği etkin olan herhangi bir alıcıya gönderilen tüm iletileri kapsar:
Get-MessageTrace -SenderAddress *@quest.com -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date) -Status Delivered | ft senderaddress, recipientaddress, subject, statusKonuya Göre Mesaj Takibi
Ne yazık ki Get-MessageTrace cmdlet'i, eşleşen konuya sahip belirli bir mesajın aranmasına izin verecek bir Konu parametresi içermez. Bu açık, arama sonuçlarının Nerede-Object cmdlet'ine aktarılmasıyla kolaylıkla aşılabilir. Örneğin, Quest.com'dan alınan mesajların nasıl alınacağı ve mesaj konusunda yalnızca "Sıfırıncı gün" dizesini içeren mesajların nasıl eşleştirileceği aşağıda açıklanmıştır:
Get-MessageTrace -SenderAddress *@quest.com -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date) -Status Delivered | ? {$_.Subject -like "*Zero-day*"}
Özet
Bulutta mesaj izleme farklıdır. Şirket içi sunucular genellikle günlüklerin ne kadar süreyle kullanılabilir kalacağı konusunda daha fazla kontrole sahipken, bulut sistemleri bilgileri daha sınırlı süreler boyunca çevrimiçi tutma eğilimindedir. Get-MessageTrace cmdlet'inin kullanımı Get-MessageTrackingLog cmdlet'inden farklıdır, ancak yeteneklerini akıcı hale getirmek için fazla bir şey gerekmez.
