簡體   English   中英

通過LocalService用戶從MVC創建計划任務有時會失敗

[英]Creating Scheduled Task from MVC sometimes fails via LocalService user

我正在使用c#TaskService命名空間從MVC應用程序#創建Windows計划任務。

如果將IIS AppPool設置為以LocalService用戶身份運行,則通常可以正常工作,但是我們時不時地發現一台服務器,無法在該服務器上創建計划任務。 如果我們將AppPool用戶更改為本地(管理員)用戶,則它將起作用。 但是我更喜歡在某種系統用戶下運行AppPool。

我還沒有任何特定的錯誤消息,因為我自己無法復制錯誤。

是否存在任何導致使LocalService用戶無法創建計划任務的嚴格程度/設置/權限?

(PS:LocalSystem和IIS AppPool用戶也不起作用)

using (TaskService ts = new TaskService())
{
    TaskDefinition td = ts.NewTask();
    td.RegistrationInfo.Description = "My Task";

    var trigger = new RegistrationTrigger() { Delay = TimeSpan.FromSeconds(1) };
    trigger.Repetition.Interval = new TimeSpan(1, 0, 0));
    td.Triggers.Add(trigger);

    td.Actions.Add(new ExecAction("C:\Folder\program.exe"));
    td.Settings.AllowDemandStart = task.AllowDemandStart;
    td.Settings.Hidden = task.Hidden;
    ts.RootFolder.RegisterTaskDefinition("My Task", td);  //Assumption is that error happens on this line
}

我無法將其作為重復項關閉,因為它有賞金。 但作為參考,這里已經回答

在Windows Task Scheduler中創建/修改任務所需的權限

“該帳戶需要對“任務”目錄具有讀/寫權限。這是路徑:%SystemRoot%\\ system32 \\ Tasks \\

但是,還有另一個問題,Windows Server 2003不喜歡我將本地系統指定為運行任務的帳戶。 似乎不喜歡我輸入空密碼,這是您指定本地系統的方式。 我通過在服務器上創建一個本地帳戶來執行任務並指定此新帳戶來解決該問題。”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM