4

C#.NET を使用して、スケジュールされたタスクで使用される資格情報を変更するにはどうすればよいですか?

4

4 に答える 4

5

コードを使用する代わりに、「SCHTASKS」コマンドを使用して実行し、必要なパラメーターを指定して System.Diagnostic.Process.Start メソッドを使用して実行できます。それは簡単で、多くの努力は必要ありません。

于 2010-06-01T12:32:05.317 に答える
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 に答える