2016-07-06 92 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

相关问题