2017-04-20 14 views
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コマンドレットを発見しました。

しかし、今問題は、電子メールの件名を印刷するのを手伝っている実際の例や方法が見つかりませんでした。

私はかなりいくつかの研究を行っているとのようなものを見つけるために管理していませんでした:

Get-Mailbox -Identity "user" |Select-MailBox * |Where-Object $_.MailBoxName = "Inbox" 

は、これは不可能ですか、私は別の方法を使用する必要がありますか?

+1

前回Outlookや同様のクライアントで電子メールの件名を解析できることを確認したが、管理から十分に集めることはできない。 'Get-MessageTrackingLog'でいくつかのデータを得ることができます。メッセージの件名を表示しますが、すべてのメールボックスが必要な場合は、' Outlook.Application'(Officeがローカルマシンにインストールされている必要があります)あなたの受信トレイ。 – Vesper

+0

あなたの答えはありがとうVesper、私はさらなる調査を行います –

+1

これにはEWS APIを使用するか、検索メールボックスのGet-MessageTraceコマンドレットを使用する必要があります。 PowershellでEWSを使用する方法については、仲間のSOユーザーGlen Scales(http://gsexdev.blogspot.nl/)のブログを参照してください。彼は良いサンプルをたくさん書いています。 Outlook COMオブジェクトを使用するのが最善の方法ではなく、速度が遅く、適切な方法で自動化をサポートしていません。 – bluuf

答えて

1

あなたは、これはあなたがInvoke-WebrequestInvoke-RestMethodコマンドレットを使用することができますRESTエンドポイントが基本的にあるので、あなたは彼らのgraph api endpoint

経由でOffice 365のAPIを使用することができOffice365サブスクリプションを持っている場合。

より具体的にはOutlook apiです。

両方とも、件名、宛先、宛先などのメッセージコンテンツをお送りします。

関連する問題