2016-07-06 99 views
-3

我想使用我的C#程序在任務計劃程序中設置以下選項。通過C#在任務計劃程序中設置用戶帳戶

1. In settings tab of Task scheduler, check the box "If the task fails, restart every 1 minute" 
2. In General tab of Task scheduler, under security options, set it to "BigDataService" for "When running the task, use the following user account" and provide its password. 

我當前的代碼如下所示:

using (TaskService ts = new TaskService()) 
{ 
    TaskDefinition td = ts.NewTask(); 
    TimeTrigger trigger = new TimeTrigger(); 
    var startTime = TimeSpan.Parse(section1["ScheduledTime"]); 
    trigger.StartBoundary = DateTime.Today + startTime; 
    trigger.Repetition.Interval = TimeSpan.FromDays(1); 
    trigger.StartBoundary = DateTime.Now; 
    td.Principal.RunLevel = TaskRunLevel.Highest; 
    trigger.Id = "Data"; 
    trigger.Repetition.Interval = TimeSpan.FromDays(1); 
    td.Triggers.Add(trigger); 
    td.Actions.Add(new ExecAction(@"DataUpload.exe", argument, null)); 
    var foldername = ts.GetFolder(@"\Bigdata"); 
    Console.WriteLine(foldername.Path); 
    foldername.RegisterTaskDefinition(section1["JobName"], td); 
} 

新的COD(正常工作與RegisterTaskDefinition,但是當我加入RepetitionInterval線,任務沒有得到在BigData文件夾中創建

using (TaskService ts = new TaskService()) 
{ 
    TaskDefinition td = ts.NewTask(); 
    TimeTrigger trigger = new TimeTrigger(); 
    var startTime = TimeSpan.Parse(section1["ScheduledTime"]); 
    trigger.StartBoundary = DateTime.Today + startTime; 
    trigger.Repetition.Interval = TimeSpan.FromDays(1); 
    trigger.StartBoundary = DateTime.Now; 
    td.Principal.RunLevel = TaskRunLevel.Highest; 
    trigger.Id = "Data"; 
    trigger.Repetition.Interval = TimeSpan.FromDays(1); 
    td.Triggers.Add(trigger); 
    td.Actions.Add(new ExecAction(@"DataUpload.exe", argument, null)); 
    var foldername = ts.GetFolder(@"\Bigdata"); 
    Console.WriteLine(foldername.Path); 
    foldername.RegisterTaskDefinition(section1["JobName"], td, TaskCreation.CreateOrUpdate,"Bigdataservice", "password"); 
} 
+0

你的問題是有關係嗎?代碼不工作? – xDaevax

+0

@xDaevax:這是我現在的代碼。我不知道我應該添加到我目前的兩個設置的代碼。 – user3447653

+0

https://msdn.microsoft.com/en-us/library/windows/desktop/aa383480(v=vs.85).aspx – xDaevax

回答

1

要重啓間隔時間設置爲1分鐘:

td.Settings.RestartInterval = TimeSpan.FromMinutes(1); 

要設置登錄:

td.Principal.LogonType = TaskLogonType.Group; 
// Pass the credentials when you register the task 
foldername.RegisterTaskDefinition(section1["JobName"], td, 
    TaskCreation.CreateOrUpdate, "DOMAIN\\USERNAME", "Pas$w0rD"); 
+0

RegisterTaskDefinition正常工作。當我添加RestartInterval時,該任務不會在適當的文件夾中創建。我在問題中添加了新代碼。 – user3447653

+0

嘗試從文件夾名稱中刪除斜槓 – leetibbett

相關問題