none
Powershell und Windows Aufgabenplaner RRS feed

  • 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
    Donnerstag, 23. November 2017 08:53

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.

    Donnerstag, 23. November 2017 09:06
  • Ich lasse ebenfalls Mails per Powershell über den Task Scheduler versenden.

    Klappt bei mir mit "Send-Mailmessage" ohne Weiteres.
    Donnerstag, 23. November 2017 11:01

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.

    Donnerstag, 23. November 2017 09:06
  • 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
    Donnerstag, 23. November 2017 09:08
  • 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.

    Donnerstag, 23. November 2017 09:21
  • Doppelt doof...

    Der Zugriff auf diese Konfiguration ist für mich beschränkt und somit kann ich das nicht ändern.

    Mit einem SMTP Server komme ich auch nicht aus unserem Netz.

    Mist, was mache ich denn nun?

    Donnerstag, 23. November 2017 09:33
  • So, jetzt habe ichdie Info. Wir arbeiten ganz gut mit folgender Software, eben auch im Batch:
    http://www.blat.net/
    Donnerstag, 23. November 2017 10:19
  • Ich lasse ebenfalls Mails per Powershell über den Task Scheduler versenden.

    Klappt bei mir mit "Send-Mailmessage" ohne Weiteres.
    Donnerstag, 23. November 2017 11:01
  • > Ich lasse ebenfalls Mails per Powershell über den Task Scheduler versenden.Klappt bei mir mit "Send-Mailmessage" ohne Weiteres.

    So hätte ich das auch gemacht - wozu Outlook anprogrammieren, wenn das aus PoSh heraus auch nativ geht? :-)

    Donnerstag, 23. November 2017 11:12
  • Ich habe gesehen, dass ich den Task auch "Mit maximalen Berechtigungen" planen kann. Dann funktioniert auch der Email Versand per Outlook.

    Somit für mich die beste Lösung.

    Vielen Dank

    Kluesi

    Donnerstag, 23. November 2017 12:45