Benutzer mit den meisten Antworten
Powershell und Windows Aufgabenplaner

Frage
-
Hallo
Ich habe ein Skript geschrieben welches Daten aus einer DB prüft und das Ergebnis in eine neu erstellt Outlook Mail packt und diese versendet. Es sind Logfile Einträge vorhanden die genau angeben wann das Skript gestartet ist. Nun starte ich das Skript aus der "Windows Powershell ISE" und alles klappt inkl. dem Mailversand. Wenn das Skript aus dem Windows Aufgabenplaner heraus ausgeführt wird steht das selbe im Logfile, aber es wird keine Mail erstellt und versandt.
Ich habe die Fehler ausgelesen und diese Zeile scheint den Fehler verursacht haben:
$ol = New-Object -comObject Outlook.Application
Die COM-Klassenfactory für die Komponente mit CLSID {0006F03A-0000-0000-C000-000000000046} konnte aufgrund des folgenden Fehlers nicht abgerufen werden: 80070005 Zugriff verweigert (Ausnahme von HRESULT: 0x80070005 (E_ACCESSDENIED)).
Was kann ich hier tun?
Vielen Dank
Kluesi72
- Bearbeitet Kluesi72 Donnerstag, 23. November 2017 09:07
Antworten
-
Der Aufruf des Outlooks wird im Hintergrund bei unbeaufsichtigter Ausführung abgewiesen.
Dies muss ggf. in den Optionen von Outlook eingestellt werden (Trustcenter->programmgesteuerter Zugriff, was sich z.B. bei mir selbst als Admin nicht ändern lässt).Zusätzlich kann es auch sein, dass die DCOM-Konfiguration der Outlook-Anwendung es nicht zulässt, d.h., dass ein CreateObject (new) bereits abgelehnt wird.
Für soetwas verwenden wir selber gerne Freeware zum Versenden vom Mails incl. Anhängen.
- Als Antwort markiert Denniver ReiningMVP, Moderator Samstag, 25. November 2017 09:18
-
Ich lasse ebenfalls Mails per Powershell über den Task Scheduler versenden.
Klappt bei mir mit "Send-Mailmessage" ohne Weiteres.- Als Antwort markiert Denniver ReiningMVP, Moderator Samstag, 25. November 2017 09:18
Alle Antworten
-
Der Aufruf des Outlooks wird im Hintergrund bei unbeaufsichtigter Ausführung abgewiesen.
Dies muss ggf. in den Optionen von Outlook eingestellt werden (Trustcenter->programmgesteuerter Zugriff, was sich z.B. bei mir selbst als Admin nicht ändern lässt).Zusätzlich kann es auch sein, dass die DCOM-Konfiguration der Outlook-Anwendung es nicht zulässt, d.h., dass ein CreateObject (new) bereits abgelehnt wird.
Für soetwas verwenden wir selber gerne Freeware zum Versenden vom Mails incl. Anhängen.
- Als Antwort markiert Denniver ReiningMVP, Moderator Samstag, 25. November 2017 09:18
-
Oh, ich habe meinen Text gerade geändert. Ich vermute, dass es was mit der DCOM zu tun hat. Aber warum funktioniert es wenn ich das Skript in der Shell ausführe und über den Scheduler nicht?
Welche Freeware kannst du empfehlen?
- Bearbeitet Kluesi72 Donnerstag, 23. November 2017 09:09
-
Wenn du im Dialog etwas tust sind die Berechtigungen z.T. anders als im Hintergrundprozess.
Du kannst es ja mit der DCOM-Konfig versuchen, ein Beispiel findest du hier für eine andere Anwendung. Du musst das nur für "Outlook.Application" anpassen:
https://blogs.msdn.microsoft.com/allaboutwmsdks/2013/08/23/how-to-enable-all-the-elements-of-the-dcom-config-dcomcnfg-exe-security-tab-on-windows-server-2008-r2/Leider gibt es auch hier mal wieder 32-/64-Bit-Konfig.
-
Ich lasse ebenfalls Mails per Powershell über den Task Scheduler versenden.
Klappt bei mir mit "Send-Mailmessage" ohne Weiteres.- Als Antwort markiert Denniver ReiningMVP, Moderator Samstag, 25. November 2017 09:18
-