ログオンしているユーザーではなく、別のユーザーとして実行する winform プログラムが必要です (タスク スケジューラの下で実行されます)。私のアプリがGUIベースであり、コマンドラインベースではない(これは違いがありますか)ので、GUIをロードしてそのことを実行してから閉じる必要があるのではないかと思います。これはおそらくXPまたはVistaの下ですか?
ありがとう
ログオンしているユーザーではなく、別のユーザーとして実行する winform プログラムが必要です (タスク スケジューラの下で実行されます)。私のアプリがGUIベースであり、コマンドラインベースではない(これは違いがありますか)ので、GUIをロードしてそのことを実行してから閉じる必要があるのではないかと思います。これはおそらくXPまたはVistaの下ですか?
ありがとう
スケジュールされたタスクは、ログインしているユーザーとは異なる特定のユーザーとして「実行」できます。
このユーザーは、タスクの作成時に指定するか、既存のタスクのプロパティを編集して指定できます。
If your app needs to run as a sheduled task then it can't really have a UI. As a bare minimum it should really be capable of being run via the command line.
The best approach would be to separate the UI from the actual processing so that the you can still run it interactively if required. This would also make testing your app a whole lot easier.
EDIT: Edited for typing and sense
Process.Start メソッドを探しています。オーバーロードの 1 つは、ユーザー名とパスワードのペアを受け入れます。プロセスは、それらのユーザー資格情報を使用して作成されます。
var app = Process.Start(@"c:\path\to\some\app.exe", userName, password, domainOrEmptyString);
私は最初のオプションに投票するか、追加の可能性を提供します: コードで偽装を使用します。やり過ぎかもしれませんが、ここでのニーズに合わないかもしれません。