Ich habe versucht, Outlook-Nachrichten in einem Posteingang mit einem bestimmten Thema zu lesen und die Anhänge zu diesem bestimmten Thema herunterladen. Dies ist der Powershell-Skript, das ichPowershell zum Lesen von Outlook-Nachrichten
$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)")
}
}
jedoch nach dem Outlook MAPI-Objekt erstellt wurde verwendet habe, wurde ich mit dem Profil Passwort gefragt manuell selbst zur Verfügung gestellt werden, obwohl ich $namespace.Logon
mit Profil Passwort als Paramater hinzugefügt habe. Ich möchte, dass das Passwort des Profils ohne Passwortabfrage durch das Skript gesendet wird. Bitte weisen Sie darauf hin, welche Änderung vorgenommen werden muss.
Laut [The Documentation] (https://msdn.microsoft.com/en-us/library/office/ff861594.aspx) ist das Passwortfeld der 'Logon()' Methode veraltet und wird nicht funktionieren eine moderne Systemkonfiguration. Es scheint, dass wenn Sie das Standardprofil verwenden, die 'Logon()' Methode entfernt werden kann, aber Sie wahrscheinlich ein wenig mehr lesen möchten, um sicherzustellen, dass diese Methode für Ihren speziellen Anwendungsfall funktioniert. –