2016-12-27 92 views
0

我一直在嘗試閱讀具有特定主題的收件箱中的Outlook郵件,並下載與該特定主題相關的附件。 這是我已經使用用於閱讀outlook郵件的Powershell

$filepath = 「C:\folder」 
$filter="[Subject]=Test Powershell" 
Add-type -assembly "Microsoft.Office.Interop.Outlook" | out-null 
$olFolders = "Microsoft.Office.Interop.Outlook.olDefaultFolders" -as [type] 
$outlook = new-object -comobject outlook.application 
$namespace = $outlook.GetNameSpace("MAPI") 
$namespace.Logon("profilename","mypassword",$false,$false) 
$folder = $namespace.getDefaultFolder($olFolders::olFolderInBox) 
#$folder.items|select * 
$folder.items.Restrict($filter)| 
    select -Expand Attachments | % { 
    for ($i = $_.Count; $i; $i--) { 
     $_.Item($i).SaveAsFile("$filepath\$($_.Item($i).FileName)") 
    } 
    } 

然而前景MAPI對象的創建之後,我被提示與所述簡檔的密碼被手動設置,即使我已經添加$namespace.Logon與輪廓密碼作爲paramater所述的powershell腳本。我希望無需密碼提示即可通過腳本發送配置文件的密碼。 請指出必須做的改變。

+0

根據[The Documentation](https://msdn.microsoft.com/en-us/library/office/ff861594.aspx)Logon()方法的密碼字段已棄用,並且不適用於一個現代系統配置。看起來如果你使用的是默認的配置文件''Logon()''方法可以被刪除,但你可能想多做一些閱讀以確保這種方法適用於你的特定用例。 –

回答

0

Namespace.Logon不接受您的Exchange郵箱的密碼。它可能適用於密碼保護的PST文件,但不適用於Exchange郵箱。至少登錄一次,並確保選中「記住密碼」複選框,以確保不再提示。

+0

感謝您的迴應。我能夠做到。 –