4

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

4

4 回答 4

5

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

于 2010-06-01T12:32:05.317 回答
4

有人在codeproject.com上写了一个任务调度器类库,它可能是你想要的......

:)

于 2009-06-14T10:08:47.243 回答
3

您必须使用新用户名和密码为任务定义调用 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

于 2011-10-08T18:33:39.387 回答
1

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

于 2009-06-14T13:26:12.463 回答