У меня есть задача 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.
Я специально установил, чтобы не хранить пароль, но ошибки говорят, что он пытается использовать пароль. Я вспоминаю, что когда-то читал, что не сохранение флажка пароля также означает «не запускать в интерактивном режиме», или что-то в этом роде. Может ли кто-нибудь указать мне правильное направление здесь?
источник
Мое решение (отмеченное здесь, чтобы помочь другим в дополнение к принятому ответу):
Задача, используемая для запуска под локальным пользователем. Запускать, зарегистрирован ли пользователь или не отмечен; Не хранить пароль, не отмечен.
Все было в порядке, пока мы не переименовали машину - мне пришлось переназначить пользователя, под которым выполняется задание, чтобы он был тем же пользователем - но под другим компьютером.
источник