[C#] Scheduled task als NT AUTHORITY\SYSTEM E-Mails Versenden

dark staple

Grünschnabel
Hallo ihr,
folgendes Problem: Ich versuche auf einem Windows Server 2008 einen scheduled task zu erstellen, dieser muss als NT AUTHORITY\SYSTEM with highest privileges starten.

In meiner C# Anwendungen werden Logfiles eingelesen und verarbeitet und in einer txt Datei zwischengespeichert. Anschließend ruft C# eine Anwendung auf zum verschicken von E-Mails (blat.exe).

Das versenden von E-Mails funktioniert als "normaler" User ohne Probleme aber als scheduled task als NT AUTHORITY\SYSTEM bricht er ab, mit der Fehlermeldung: "return code 3762507597".

Was kann ich noch tun? Wieso funktioniert das Versenden der E-Mails als normaler User aber nicht als SYSTEM?

Danke :)
 
Hallo drucko,

das Feld "Starten in (optional):" ist ausgefüllt, als normaler Benutzer funktioniert es aber als NT AUTHORITY\SYSTEM kommt wieder der return Wert: 3762507597.

MfG
 
Kannst du bitte nochmal erläutern wann und wie du den Taskplaner aufrufst? Also z.B. schtasks.exe /RUN /TN "taskname" wird von deinem C# Programm aus aufgerufen oder wie? Und die auszuführende Aktion ist Prozess starten -> blat.exe?
 
Also der Ablauf ist bzw. soll folgender sein:
Mein Tool wird über den Taskplaner aufgerufen, dieses verschickt dann wärend der Laufzeit E-Mails per blat.exe, hier der Aufruf der blat.exe.

Also: Taskplaner, auszuführende Aktion ist mein Programm zu starten --> Mein Tool analysiert Logfiles und verschickt E-Mails per --> Blat.exe --> Programm Ende

Code:
Process nPad = new Process();

            nPad.StartInfo.FileName = blatExe;
            nPad.StartInfo.Arguments = " " + mailTextDatei + " -Server " + mailRelay + " -f " + mailserver + " -subject \" " + subject + " \" -to \" " + recipient + " \" -cc \" " + copyRecipient + "\"";
            
            nPad.Start();
            nPad.WaitForExit();
 
Dann läuft also nicht nur die blat.exe als System, sondern dein Programm auch, kann das irgendwelche Konflikte geben, da mal näher geschaut?
 
Wäre mir so nicht bewusst, besonders da wir schon mehrere Anwendungen darüber starten, die auch die blat.exe nutzen.

Die anderen Programme wurden aber in VB geschrieben, diese Programme werden genau wie meins per Taskplaner als SYSTEM gestartet, die Programme rufen dann auch innerhalb des Codes per Shell() aufruf die Blat.exe auf und versenden darüber E-Mails.
 
Ich habe mal in den TaskManager geschaut, dabei ist mir aufgefallen das ungefähr 80 Excel Instanzen als SYSTEM laufen. Nun habe ich den Excel Aufruf in der Datei mal auskommentiert und mein Tool wieder mit dem Taskplaner zu starten und siehe da er verschickt E-Mails.

Nun, wieso hat er ein Problem mit Excel? Von hier habe ich meinen Code http://blog.stefan-macke.com/2006/06/28/c-projekt-zugriff-auf-excel-dateien/.

Vielen Dank!

#EDIT:
Ich konnte das Problem eingrenzen, sobald dieser Aufruf hier stattfindet, bricht der ganze Excel Prozess ab aber wie schon gesagt nur als SYSTEM User:

xlWorkBook = xlApp.Workbooks.Open(sFile, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück