使用C#的任务计划程序中的常规设置
问题描述:
我想将任务计划程序中的“配置”设置设置为“Windows 7”。使用C#的任务计划程序中的常规设置
当前的C#代码:
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);
td.Triggers.Add(trigger);
td.Actions.Add(new ExecAction(@"Data.exe", argument, null));
var foldername = ts.GetFolder(@"\Bigdata");
Console.WriteLine(foldername.Path);
foldername.RegisterTaskDefinition(section1["JobName"], td, TaskCreation.CreateOrUpdate, "[email protected]", "traincloudCubel!ne");
}
任何帮助,将不胜感激!
答
td.Settings.Compatibility
应该映射到该领域。
有关每个版本在下拉列表中映射到的枚举参见xmldoc。
/// <summary>Defines what versions of Task Scheduler or the AT command that the task is compatible with.</summary>
public enum TaskCompatibility
{
/// <summary>The task is compatible with the AT command.</summary>
AT,
/// <summary>The task is compatible with Task Scheduler 1.0 (Windows Server™ 2003, Windows® XP, or Windows® 2000).</summary>
V1,
/// <summary>The task is compatible with Task Scheduler 2.0 (Windows Vista™, Windows Server™ 2008).</summary>
V2,
/// <summary>The task is compatible with Task Scheduler 2.1 (Windows® 7, Windows Server™ 2008 R2).</summary>
V2_1,
/// <summary>The task is compatible with Task Scheduler 2.2 (Windows® 8.x, Windows Server™ 2012).</summary>
V2_2,
/// <summary>The task is compatible with Task Scheduler 2.3 (Windows® 10, Windows Server™ 2016).</summary>
V2_3,
}
我用td.Settings.Compatibility.Equals(“Windows 8.1”)来设置配置为“Windows 8.1”。但它仍然没有做任何事情。想知道我是否错过了一些东西。 – user3447653
该属性是一个枚举,正确的方式是'td.Settings.Compatibility == TaskCompatibility.V2_2',看看我上面发布的代码,'V2_2'映射到“Windows®8.x,Windows Server™2012” 。 –
我想通了,谢谢。 – user3447653