Mam dziwny problem. Zaplanowałem zadanie uruchomienia pliku wsadowego. Kiedy uruchamiam zadanie z opcją Run only when user is logged on
wszystko działa dobrze. ale chcę uruchomić to zadanie w tle i dlatego uruchamiam je za pomocą opcji Run whether user is logged on or not
. Teraz, kiedy uruchamiam zadanie, nie działa. Otrzymuję następujące 2 błędy. Nie rozumiem tego błędu. Pomóż mi rozwiązać ten problem.
Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of task "\stmm\Daemon". Additional Data: Error Value: 2147942667.
Task Scheduler failed to start instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of "\stmm\Daemon" task for user "GBLADHEDANI\N011940" . Additional Data: Error Value: 2147942667.
Odpowiedzi:
Miałem ten sam problem.
Rozwiązanie dla mnie zostało znalezione w artykule 2452723 bazy wiedzy Microsoft:
Zaplanowane zadania systemu Windows Vista w nowszych wersjach nie są uruchamiane, jeśli ścieżka w polu „Rozpocznij w (opcjonalnie)” zawiera cudzysłowy
Zasadniczo edytuj zaplanowane zadanie i usuń wyceny z pola Rozpocznij w:
Aby uzyskać odpowiedni komunikat o błędzie:
1) Zamień 2147942667 na szesnastkowe: 8007010B
2) Weź ostatnie 4 cyfry (010B) i zamień na dziesiętne: 267
3) Uruchom: net helpmsg 267
4) Wynik: „Nazwa katalogu jest nieprawidłowa”.
źródło
Run whether user is logged on or not
korzystałem z innego użytkownika do uruchomienia aplikacji. Ten nowy użytkownik nie miał odpowiednich uprawnień do odczytu danych i stąd błąd. Dzięki."C:\Some Path\"
, to źle, ponieważ zawiera cudzysłowy. Musi mówić „C: \ Some Path” (bez cudzysłowów).Dla mnie była to opcja „Start In” - skopiowałem wartości ze starszego serwera i zaktualizowałem ścieżkę do nowej lokalizacji .exe, ale zapomniałem zaktualizować lokalizację „start w” - jeśli nie istnieje, również ten błąd
Cytując komentarz @ hans-passant z góry, ponieważ warto debugować ten problem:
źródło
Może się to zdarzyć z więcej niż jednego powodu. W moim przypadku stało się to z powodu problemu z uprawnieniami. Użytkownik, którego zadanie było uruchomione, nie miał uprawnień do zapisu w katalogu dzienników, więc wystąpił błąd.
źródło
Miałem ten sam problem na Windows7.
Otrzymałem błąd 2147942667 i raport o niemożności uruchomienia c: \ windows \ system32 \ CMD.EXE. Próbowałem z cudzysłowami i bez cudzysłowów w skrypcie i na początku i bez różnicy. Następnie próbowałem zamienić wszystkie odniesienia do ścieżek na zmapowane dyski sieciowe i odniesienia UNC (\ Server1 \ Sharexx \ my_scripts \ run_this.cmd) i to naprawiło to za mnie. Poklepać.
źródło
Aby uzyskać bardziej ogólną odpowiedź, przekonwertuj wartość błędu na wartość szesnastkową, a następnie wyszukaj wartość szesnastkową w sekcji Błąd harmonogramu zadań systemu Windows i stałe sukcesu
źródło
2147942667
na hex:0x8007010B
. Ta wartość nie pojawia się w podanym łączu. Oczywiście tylko do Twojej wiadomości.2147942667 in hex
. Google jest teraz też kalkulatorem.Dla mnie był to „Start In” - przypadkowo zostawiłem w „.py” na końcu nazwy mojego programu. I zapomniałem wpisać wielką literę nazwy folderu, w którym był („Aplikacje”).
źródło
W moim przypadku było to spowodowane zmienną środowiskową PATH użytkownika, która wydawała się nie działać, mimo że użytkownik był poprawny, więc musiałem umieścić całą ścieżkę pliku wykonywalnego w polu programu.
źródło