使用C#访问Windows计划任务

如何使用C#.NET更改计划任务使用的凭据?

有人在codeproject.com上编写了一个任务调度程序类库,它可能是你的…

🙂

您可以使用’SCHTASKS’命令代替使用代码,使用System.Diagnostic.Process.Start方法运行它,并使用所需的参数。 这很容易,而且不需要太多努力。

您必须使用新的用户名和密码调用RegisterTaskDefintion以获取任务的定义,以便仅更改密码。

代码片段

// Add COM-Reference to "TaskScheduler 1.1 Type Library" to the project using TaskScheduler; // code in function X TaskSchedulerClass TaskClass = new TaskSchedulerClass(); TaskClass.Connect(); // access one task (or search for it or enumerate over all tasks) IRegisteredTask lTask = null; lTask = TaskClass.GetFolder("\\").GetTasks(0)[0]; // provide domain\\username and password (ask user for it, use encryption) string lUsername = "TestDomain\\TestUsername"; // TestDomain can be the hostname for a local user string lPassword = "xyzPassword"; RegisterTaskDefinition(lTask.Path, lTask.Definition, (int)_TASK_CREATION.TASK_UPDATE, lUsername, lPassword, lTask.Definition.Principal.LogonType, Type.Missing); 

答案的原始来源: http : //taskscheduler.codeplex.com/discussions/215362

查看此库以使用TaskSheduler。 它是用VB编写的,但我很容易引用它,并用C#调用它。