誰かがログインしているかどうかに関係なく、自動的に実行したいonstartupタスクがあります。
以下のコードを使用して、Run whether user is logged in or not
、Do not store password1
、およびRun with highest privileges
として設定しました。
schtasks /create /tn "My OnStartup Task" /TR "powershell blah.ps1" /sc ONSTART /f /NP /RL HIGHEST
タスクスケジューラの履歴を有効にした後、次のようなエラーが発生します。
Event ID: 104: Task Scheduler failed to log on "<Task Author>" . Failure occurred in "LsaLogonUser" . User Action: Ensure the credentials for the task are correctly specified. Additional Data: Error Value: 2147943711.
Event ID: 311: Task Scheduler failed to start Task Engine "" process due to an error occurring in "LUAIsElevatedToken" . Command="taskeng.exe" . Additional Data: Error Value: 2147943711.
Event ID: 101: Task Scheduler failed to start "\My OnStartup Task" task for user "<Machine>\<Task Author>". Additional Data: Error Value: 2147943711.
特にパスワードを保存しないように設定しましたが、エラーはパスワードを使用しようとしていることを示しています。パスワードのチェックボックスを保存しないことも「インタラクティブに実行しない」などの意味があることをどこかで読んだことを覚えています。誰かが私をここで正しい方向に向けることができますか?
パスワードを保存したくない場合は、タスクを実行するユーザーアカウントを指定しないでください。それが機能する場合はシステムとして実行するか、タスクでユーザーアカウントとパスワードを保存します。
私の解決策(ここでは、受け入れられた回答に加えて他の人に助けを与えるために注記されています):
localユーザーの下で実行するために使用されるタスク。 ユーザーがログインしているかどうかに関係なく実行チェックされています。 パスワードを保存しないチェックされていません。
マシンの名前を変更するまでは問題ありませんでした。次に、ジョブを実行するユーザーを同じユーザーに再割り当てする必要がありましたが、異なるコンピューターの下でした。