dlaczego zadanie harmonogramu zadań systemu Windows 7 kończy się niepowodzeniem z powodu błędu 2147942667


135

Mam dziwny problem. Zaplanowałem zadanie uruchomienia pliku wsadowego. Kiedy uruchamiam zadanie z opcją Run only when user is logged onwszystko 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.

43
Przekonwertuj kod błędu na szesnastkowy, aby uzyskać 0x8007010B. 7 sprawia, że ​​jest to błąd systemu Windows. Co powoduje kod błędu 010B 267. „Nazwa katalogu jest nieprawidłowa”. Jasne, tak się dzieje.
Hans Passant

1
@HansPassant, to genialne. Konwertuj na szesnastkowy, użyj ostatnich czterech bajtów, aby wyszukać kod błędu. Mam nadzieję, że to zapamiętam!
Mark Berry,

FWIW Znalazłem w głównym interfejsie użytkownika harmonogramu zadań zadanie z kolumną „Wynik ostatniego uruchomienia” lub podobną, wyświetlającą czytelny komunikat o błędzie „Nazwa katalogu jest nieprawidłowa”. Rozwiązaniem w naszej sytuacji była odpowiedź z jp2code poniżej o usuwaniu cudzysłowów z folderu Start In, ponieważ skopiowałem to z cytowanego polecenia do uruchomienia.
Neek


1
@RJDunnill, dzięki za oznaczenie mnie na tym. Bardzo pomocny!
Mark Berry

Odpowiedzi:


258

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:

  1. Otwórz zaplanowane zadanie
  2. Przejdź na kartę „Działania”
  3. Otwórz swoją akcję
  4. Usuń cudzysłowy („) z pola„ Rozpocznij w (opcjonalnie) ”
  5. Zapisz i zamknij wszystkie otwarte okna dialogowe

Okno dialogowe Edytuj akcję

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”.

Okno wiersza polecenia


5
problem był związany z zezwoleniem na użytkowanie. Po uruchomieniu z opcją Run whether user is logged on or notkorzystał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.
Alok

1
Dla mnie to też nie było „pozwolenie”. To był folder Start w . Jeśli tak "C:\Some Path\", to źle, ponieważ zawiera cudzysłowy. Musi mówić „C: \ Some Path” (bez cudzysłowów).
jp2code

16
To jest rozwiązanie. Usuń cudzysłowy z pola tekstowego Rozpocznij w folderze . Dość ezoteryczna poprawka. Zmarnowane godziny na to - szkoda, że ​​Microsoft nie ułatwiłby tego dzięki pomocnym błędom lub naprawił ten oczywisty błąd.
Joseph

6
Co jest warte, otrzymuję ten błąd, ale moje ustawienie Rozpocznij w folderze nie ma cudzysłowów, a raczej ścieżka, do której się odwołano, nie istnieje.
shufler

2
Nie używam cytatów i nadal pojawia się ten sam problem. @RayofCommand: czy znalazłeś rozwiązanie tego problemu.
Użytkownik1551892

9

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:

Przekonwertuj kod błędu na szesnastkowy, aby uzyskać 0x8007010B. 7 sprawia, że ​​jest to błąd systemu Windows. Co powoduje kod błędu 010B 267. „Nazwa katalogu jest nieprawidłowa”. Jasne, tak się dzieje.


7

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.


3

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ć.


W końcu zrobiło to również dla mnie. Musiałem użyć „Net Use”, aby uzyskać nazwę serwera, a następnie pingować, aby uzyskać nazwę domeny. Ostatecznie był to \\ machine.domain.local \ app.exe. \\ Machine \ app.exe nie działa
greg

Dla mnie też to zrobił. Dzięki!
Jace

2

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


3
Cześć Mike. Użyłem kalkulatora systemu Windows w trybie programista konwersji 2147942667na hex: 0x8007010B. Ta wartość nie pojawia się w podanym łączu. Oczywiście tylko do Twojej wiadomości.
jp2code

4
Właśnie Googled go: 2147942667 in hex. Google jest teraz też kalkulatorem.
Baodad

0

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”).


0

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.