Mam zadanie uruchamiania, które chcę automatycznie uruchomić, niezależnie od tego, czy ktoś jest zalogowany, czy nie.
Skonfigurowałem to jako Run whether user is logged in or not
, Do not store password1
i Run with highest privileges
, jak zakładam, działałoby, używając poniższego kodu:
schtasks /create /tn "My OnStartup Task" /TR "powershell blah.ps1" /sc ONSTART /f /NP /RL HIGHEST
Po włączeniu historii harmonogramu zadań pojawiają się błędy takie jak:
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.
W szczególności postanowiłem nie przechowywać hasła, ale błędy mówią, że próbuje użyć hasła. Pamiętam, że czytałem gdzieś, że nie zapamiętywanie pola wyboru hasła również liczy się jako „nie uruchamiaj interaktywnie” lub coś w tym rodzaju. Czy ktoś mógłby skierować mnie tutaj we właściwym kierunku?
źródło
Moje rozwiązanie (zaznaczone tutaj, aby dać innym pomoc oprócz zaakceptowanej odpowiedzi):
Zadanie było uruchamiane przez lokalnego użytkownika. Uruchom, czy użytkownik jest zalogowany, czy nie zaznaczony; Nie przechowuj hasła nie zaznaczonego.
Wszystko było w porządku, dopóki nie zmieniliśmy nazwy komputera - musiałem wtedy ponownie przypisać użytkownika, pod którym działa zadanie, aby był tym samym użytkownikiem - ale na innym komputerze.
źródło