| Termin | Definicja |
|---|---|
| CMD nie uruchamia się przez Task Scheduler | CMD nie uruchamia się przez Task Scheduler wskazuje na błędnie skonfigurowaną ścieżkę akcji zadania — parametr „Uruchom program” musi wskazywać pełną ścieżkę do cmd.exe z prawidłowymi argumentami. Czym oznacza problem z uruchamianiem CMD przez Task SchedulerKomunikat lub sytuacja, w której wiersz polecenia nie startuje przez Task Scheduler, oznacza, że zaplanowane zadanie zostało utworzone, lecz system Windows nie potrafi poprawnie wykonać przypisanej mu akcji. Samo zapisanie zadania w Harmonogramie zadań nie gwarantuje uruchomienia programu. Konieczne jest jeszcze prawidłowe wskazanie pliku wykonywalnego, parametrów, katalogu roboczego oraz konta, w którego kontekście proces ma zostać uruchomiony. W przypadku CMD najczęściej chodzi o plik Problem może być widoczny jako brak okna konsoli, brak utworzonego pliku wynikowego, brak wykonania skryptu lub status zadania wskazujący na zakończenie bez czytelnego komunikatu. Warto pamiętać, że zadanie wykonywane ręcznie z poziomu edytora może działać inaczej niż zadanie uruchamiane według harmonogramu. Różnica wynika między innymi z zastosowanego konta użytkownika, dostępnych zmiennych środowiskowych i uprawnień. Ścieżka programu, argumenty i kontekst uruchomieniaPrawidłowa konfiguracja wymaga rozdzielenia kilku elementów. W polu programu można wskazać pełną ścieżkę do interpretera poleceń, na przykład Istotne jest także ustawienie pola „Rozpocznij w”, czyli katalogu roboczego. Gdy skrypt odwołuje się do plików za pomocą ścieżek względnych, uruchomienie z innego katalogu może doprowadzić do błędu mimo poprawnej składni polecenia. Przykładowo komenda odwołująca się do Znaczenie ma również opcja uruchamiania zadania niezależnie od zalogowania użytkownika. Proces wykonywany w tle może nie mieć dostępu do tych samych zasobów co proces uruchomiony w aktywnej sesji. Dotyczy to między innymi dysków mapowanych literami, folderów profilu użytkownika, poświadczeń zapisanych w interaktywnej sesji oraz programów wymagających dostępu do pulpitu. W takich przypadkach bezpieczniej jest stosować pełne ścieżki lokalne i sprawdzać, czy konto przypisane do zadania posiada wymagane prawa. W zakładce wyzwalaczy należy zweryfikować, czy wybrane zdarzenie rzeczywiście występuje. Zadanie uruchamiane przy logowaniu, przy bezczynności systemu, po uruchomieniu komputera lub według harmonogramu może podlegać innym warunkom. Dodatkowe ustawienia, takie jak opóźnienie startu, konieczność zasilania sieciowego albo zatrzymanie zadania po określonym czasie, również mogą sprawiać wrażenie, że CMD nie działa. Typowe błędy i sposoby ich rozpoznania - CMD nie uruchamia się przez Task SchedulerJednym z częstszych błędów jest wpisanie komendy do pola przeznaczonego na program albo podanie ścieżki do pliku BAT bez poprawnego przekazania jej jako argumentu. Inną przyczyną bywa literówka w nazwie folderu, wskazanie nieistniejącego dysku lub użycie ścieżki dostępnej wyłącznie w określonej konfiguracji systemu. Należy również sprawdzić, czy plik nie został przeniesiony, usunięty albo zablokowany przez mechanizmy ochrony systemu. Jeżeli zadanie uruchamia plik wsadowy, warto przetestować go bezpośrednio w oknie CMD, a następnie uruchomić z dokładnie takim samym kontem i katalogiem roboczym, jakie skonfigurowano w Harmonogramie zadań. Pomocne może być chwilowe dodanie do skryptu zapisu komunikatów do pliku dziennika. Dzięki temu można ustalić, czy problem występuje przed uruchomieniem CMD, podczas odczytu skryptu, przy dostępie do plików, czy dopiero na etapie wykonywania konkretnej komendy. W Podglądzie zdarzeń oraz w historii zadania można znaleźć informacje o rezultacie wykonania. Warto zwrócić uwagę na kod zakończenia, czas rozpoczęcia, czas zakończenia i opis działania. Sam status „uruchomiono” nie zawsze oznacza poprawne wykonanie wszystkich poleceń. Proces może zakończyć się szybko, jeśli zabrakło parametru Problemy pojawiają się także wtedy, gdy skrypt wymaga odpowiedzi na pytanie, korzysta z programu wyświetlającego komunikat lub próbuje otworzyć okno w nieaktywnej sesji. Zadanie działające w tle nie powinno zakładać obecności użytkownika przy komputerze. W takich sytuacjach należy zmienić sposób działania skryptu, zapisać wynik do dziennika albo przekazać wymagane wartości w argumentach. Niekiedy przeszkodą jest ograniczenie uprawnień kontroli konta użytkownika, zasady zabezpieczeń lub blokada pliku przez oprogramowanie ochronne. Przy diagnostyce należy sprawdzić także architekturę systemu, lokalizację pliku oraz różnice między uruchomieniem ręcznym i automatycznym. Dla poleceń systemowych przydatne jest używanie jednoznacznych ścieżek zamiast polegania na bieżącej lokalizacji. Jeśli zadanie ma uruchamiać program wymagający podwyższonych uprawnień, trzeba zweryfikować ustawienie uruchamiania z najwyższymi uprawnieniami oraz to, czy użyte konto rzeczywiście może wykonać wszystkie operacje zawarte w skrypcie. Kiedy najlepiej skorzystać z pomocy serwisu - CMD nie uruchamia się przez Task SchedulerZgłoszenie problemu do serwisu jest zasadne, gdy CMD uruchamia się ręcznie, lecz konsekwentnie nie działa z Task Scheduler, a przyczyna nie wynika z oczywistej literówki lub błędnej ścieżki. Dotyczy to zwłaszcza sytuacji, w której zadanie ma wykonywać kopie plików, porządkować dane, uruchamiać narzędzia konserwacyjne albo działać po starcie systemu i brak jego wykonania może prowadzić do utraty ciągłości pracy. Przed przekazaniem zgłoszenia warto przygotować nazwę zadania, moment wystąpienia problemu, używane konto, pełną komendę, lokalizację skryptu oraz informację, czy działanie jest poprawne po ręcznym uruchomieniu. Pomocne będą również komunikaty z historii zadania, kody zakończenia i przykładowy log. Takie dane ułatwiają rozdzielenie problemu z samym CMD od błędu w skrypcie, uprawnieniach lub konfiguracji systemu. W warszawskim serwisie komputerowym Warszawskie Pogotowie Komputerowe 24/7 takie przypadki mogą być analizowane razem z konfiguracją systemu, Harmonogramu zadań i plików wsadowych, a naprawy z reguły kończą się w ciągu trzech dni roboczych. W ramach sprawdzenia można zweryfikować ścieżki, argumenty, katalog roboczy, wyzwalacze, uprawnienia oraz dzienniki zdarzeń, a następnie uporządkować konfigurację tak, aby zadanie wykonywało się w przewidywalnych warunkach. Nie należy odkładać diagnostyki, jeżeli problem dotyczy automatycznych czynności zabezpieczających, regularnego przetwarzania danych albo skryptu uruchamianego po każdym włączeniu komputera. Brak widocznego okna CMD nie musi oznaczać awarii, lecz powtarzające się pomijanie zadania, niepełny wynik lub brak wpisów w pliku dziennika wskazuje na potrzebę dokładnego sprawdzenia całego łańcucha uruchamiania. |