1
因此,我正在檢查我遇到的問題。獲取PowerShell中收到的電子郵件的主題
我收到了來自我的學校(Office 365)的電子郵件,我想用PowerShell打印位於收件箱中的每封電子郵件的電子郵件主題。
我已經找到了方法打下了連接
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://smtp.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
function Connect-O365 {
$session365 = New-PSSession `
-ConfigurationName Microsoft.Exchange `
-ConnectionUri "https://smtp.office365.com/powershell-liveid/" `
-Credential $UserCredential
-Authentication Basic `
-AllowRedirection
Import-Module (Import-PSSession $session365 -AllowClobber) -Global
}
,並發現了Get-Mailbox
cmdlet的。
但現在的問題是,我還沒有找到任何實際的例子或方法,繼續幫助我印刷電子郵件主題。
我已經做了相當一些研究,並沒有設法找到類似:
Get-Mailbox -Identity "user" |Select-MailBox * |Where-Object $_.MailBoxName = "Inbox"
這是不可能的,或者我必須使用另一種方法?
上次我檢查了你只能用Outlook或類似的客戶端解析郵件主題,你無法從管理中收集足夠的信息。你可以用'Get-MessageTrackingLog'獲得一些數據,一個顯示消息的主題,但是如果你想要所有的郵箱,最好的辦法就是連接'Outlook.Application'(需要在本地機器上安裝Office),然後解析您的收件箱。 – Vesper
非常感謝您的回答Vesper,我會做一些進一步的研究 –
您應該使用EWS API(或使用Search-mailbox或Get-MessageTrace cmdlet,但EWS在我看來更好)。有關如何在Powershell中使用EWS的信息,您應該查看SO用戶Glen Scales(http://gsexdev.blogspot.nl/)的博客,他已經寫了很多很好的示例。使用Outlook COM對象不是最好的方法,它速度很慢,並且不以適當的方式支持自動化。 – bluuf