2016-09-27 95 views
0

我正在嘗試編寫一個腳本,該腳本從一個完整的.msg文件目錄中讀取郵件標題,以便稍後可以通過正則表達式解析它們。我試過$MSG = Get-Content .\message.msg,它可以工作,但它是一個非常髒的輸出。有沒有人試過這個?我似乎無法在網上找到工作示例。如何使用Powershell從.msg文件中提取郵件標題?

回答

1

根據您的環境,您有幾個選項。如果您在裝有Outlook的計算機上,則可以使用Outlook com對象輕鬆完成此操作。問題是標頭不會默認顯示,所以你必須dig for them

$ol = New-Object -ComObject Outlook.Application 
$msg = $ol.CreateItemFromTemplate("SOME\PATH\TO\A\MSG\FILE.msg") 
$headers = $msg.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001E") 
$headers 

在這一點上,你有一個文本塊,其中的所有頭信息。如果你想要一個特定的頭文件,你需要編寫一個正則表達式來提取它。

您也可以編寫一個基於the specification讀取原始內容的類。或者使用powershell讀取原始內容並編寫正則表達式以嘗試提取它。

+0

這是完美的工作!謝謝! – Vgamer989

相關問題