17

スケジュールされたタスクを実行するのに大きな問題があります。タスクは、Microsoft が提供する ITaskScheduler インターフェイスを使用して正常に作成されます。タスクは、ユーザーがログオンしている場合にのみ実行するように設定されています。

問題は、タスクが実行されず、ログ ファイル SchedLgU.txt に理由が次のように記載されていることです。

"The attempt to retrieve account information for the specified task failed; therefore, the task did not run. Either an error occurred, or no account information existed for the task.

The specific error is:

0x8004130f: No account information could be found in the Task Scheduler security database for the task indicated."

Google アップデーターのスケジュールされたタスクがこれを行い、正常に実行されるため、アカウント情報なしでスケジュールされたタスクを作成できるという事実を知っています。

Web 検索から収集できるのは、Windows には「スケジュールされたタスク データベース」があり、タスクを実行するには、各タスクの資格情報が必要であるということだけです。

この資格情報データベースを変更する方法や、タスクを実行する他の方法を知っている人はいますか?

4

3 に答える 3

24

GoogleUpdateTaskMachine タスクは、「NT AUTHORITY\SYSTEM」を使用してタスクを実行します。これを行うには、schtasks コマンドと、"System" または "" をパラメーターとして指定した /ru スイッチを使用します。このような:

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /d 15 /ru "System"

パスワードの入力を求めるプロンプトは表示されません。

詳細については、 technetを参照してください。

于 2009-03-31T20:18:41.267 に答える
9

バッチ スクリプトを使用できます。

schtasks /create /tn UNO /tr YOURAPP.EXE /sc HOURLY /mo 2

どうぞ。

参照: Schtasks.exe を使用して Windows Server 2003 でタスクをスケジュールする方法

于 2009-02-07T20:11:47.133 に答える
2

私の知る限り、およびドキュメントがこれを裏付けているように、スケジュールされたタスクにはアカウントが必要です。ユーザーがログインしている場合にのみタスクを実行するように設定した場合は、パスワードが不要であることを意味するだけですが、アカウントは必要です。このアカウントをグループに設定すると、グループ内の誰かがログオンしている限り、タスクがトリガーされたときにタスクが実行されます。たとえば、アカウントを「ユーザー」に設定して、誰でもログオンしているときにタスクを実行できるようにすることができます。

于 2009-01-25T13:27:16.530 に答える