我有一个onstartup任务,我想自动运行,无论是否有人login。
我已经设置为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
启用任务计划程序历史logging后,我收到如下错误:
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.
我已经特别设置不存储密码,但错误是说它正在尝试使用密码。 我记得在某些地方读取不存储密码checkbox也算“不交互运行”,或什么的。 有人能在这里指出我正确的方向吗?
如果您不想保存密码,则不应指定要在其下运行任务的用户帐户。 运行它作为系统,如果这将工作或保存任务的用户帐户和密码。
我的解决scheme(除了被接受的答案之外,在这里指出给别人帮助):
用于在本地用户下运行的任务。 运行用户是否login或不勾选; 不要存储不勾选的密码 。
一切正常,直到我们重新命名机器 – 然后我不得不重新分配作业下运行的用户是同一个用户 – 但在不同的计算机下。