2 Stimmen

PowerShell und Outlook - Inkonsistent

Ich habe ein Problem mit dem folgenden PowerShelll-Skript:

$mail = $outlook.CreateItem(0) 
$mail.To = "aaa@gmail.com"
$mail.Subject = "PowerShell Test 1"
$mail.Body = "Body..."
$mail.HTMLBody = "This is test!"   
$mail.Attachments.Add("C:\Test.txt")    
$mail.save()

$mail = $outlook.CreateItem(0) 
$mail.To = "aaa@gmail.com"
$mail.Subject = "PowerShell Test 2"
$mail.Body = "Body..."
$mail.HTMLBody = "This is test!"   
$mail.Attachments.Add("C:\Test.txt")    
$mail.save()

Wenn Outlook bereits gestartet ist, funktioniert das Skript einwandfrei - wie erwartet, erhalte ich zwei E-Mails im Ordner "Entwürfe".

Wenn Outlook NICHT GESTARTET wird, fragt Outlook den Benutzer zuerst nach Berechtigungen, aber am Ende erhalte ich NUR die ZWEITE E-Mail in Entwürfen, die ERSTE EMAIL fehlt.

Ist jemand auf dieses Problem gestoßen, gibt es Lösungen?

1voto

Sweet_Pete Punkte 403

Ich hatte das gleiche Problem wie Ocaso, bei dem die erste E-Mail an den Posteingang und die zweite an die Entwürfe gesendet wurde. Ich habe dieses Problem behoben, indem ich eine Sitzung für Outlook eingerichtet habe:

$outlook = new-object -com outlook.application
$session = $outlook.Session
$session.Logon()

Die Sitzung legt grundsätzlich einen Zeitraum fest, in dem eine Anwendung, in diesem Fall Outlook, Daten empfangen oder einrichten kann. Durch den Aufruf von session.Logon() wird eine Sitzung oder ein Zeitraum instanziiert, in dem Outlook Daten/E-Mails speichern kann. Im folgenden Artikel werden Sitzungen besser erklärt:

http://msdn.microsoft.com/en-us/library/Windows/desktop/ms714451%28v=vs.85%29.aspx

Danke

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X