Strona główna
» WINDOWS
»
Jak automatycznie ponownie uruchomić awarię aplikacji w systemie Windows 10
Jak automatycznie ponownie uruchomić awarię aplikacji w systemie Windows 10
Aby automatycznie ponownie uruchomić awarię aplikacji w systemie Windows 10, użyj modułu obserwującego PowerShell i Harmonogramu zadań. Moduł obserwujący sprawdza proces klasycznej aplikacji komputerowej; po jego zamknięciu skrypt odczeka 60 sekund i ponownie go uruchomi.
Ta opcja powoduje ponowne uruchomienie aplikacji po każdym wyjściu, w tym normalnym zamknięciu. Nie pozwala ona na odzyskanie niezapisanych danych ani naprawienie przyczyny awarii. Opcja „Jeśli zadanie się nie powiedzie” w Harmonogramie zadań ponawia nieudane zaplanowane zadanie; nie monitoruje ona procesu aplikacji w sposób ciągły, dlatego w tym przewodniku wykorzystano niewielki skrypt monitorujący.
Zanim zaczniesz
Użyj tej metody w przypadku tradycyjnego programu komputerowego, który ma stabilną wersję .exe. Aplikacje ze sklepu Microsoft Store i programy, których programy uruchamiające przełączają się na inny proces pomocniczy, mogą nie być wiarygodnie śledzone. Jeśli aplikacja zawiera własną opcję ponownego uruchomienia lub odzyskiwania, użyj jej zamiast niej.
Skonfiguruj funkcję obserwowania ponownego uruchomienia
1. Znajdź plik wykonywalny aplikacji
W menu Start kliknij prawym przyciskiem myszy skrót aplikacji i wybierz Więcej > Otwórz lokalizację pliku, jeśli jest dostępna. Kliknij skrót prawym przyciskiem myszy, wybierz Właściwości i skopiuj ścieżkę z folderu docelowego . Użyj rzeczywistego pliku wykonywalnego, a nie .lnkskrótu, programu aktualizującego ani narzędzia do raportowania awarii.
Wybierz główny plik wykonywalny programu.
2. Utwórz i zapisz skrypt programu PowerShell
Otwórz Notatnik, wklej ten skrypt i zastąp przykładową ścieżkę skopiowaną ścieżką. Pozostaw ścieżkę w pojedynczych cudzysłowach.
Skrypt sprawdza proces, czeka na jego zakończenie i po chwili próbuje ponownie.
Start-ProcessOtwiera plik wykonywalny i Wait-Processczeka na jego zakończenie. Opóźnienie pomaga zapobiec gwałtownym ponownym uruchomieniom, jeśli aplikacja ciągle się zawiesza. Zapoznaj się z dokumentacją Start-Process i Wait-Process firmy Microsoft .
W Notatniku wybierz Plik > Zapisz jako , wybierz Dokumenty, nadaj plikowi nazwę Restart-App.ps1i ustaw opcję Zapisz jako typ na Wszystkie pliki , aby Notatnik nie dodał pliku .txt.
Zapisz skrypt z rozszerzeniem .ps1 i wybierz opcję Wszystkie pliki.
3. Utwórz zadanie uruchamiane po zalogowaniu
Wyszukaj w menu Start Harmonogram zadań i otwórz go. Wybierz Utwórz zadanie . Na karcie Ogólne wpisz nazwę, np. Uruchom ponownie aplikację ExampleApp , a następnie zaznacz opcję Uruchom tylko po zalogowaniu użytkownika , aby okno aplikacji otworzyło się w sesji pulpitu.
Zachowaj zadanie w sesji pulpitu zalogowanego użytkownika.
Otwórz kartę Wyzwalacze , wybierz Nowy , ustaw opcję Rozpocznij zadanie na Przy logowaniu , wybierz swoje konto, jeśli pojawi się monit, i kliknij OK . Jest to zgodne z udokumentowanym przez firmę Microsoft schematem wyzwalacza logowania i akcji wykonywalnej w Harmonogramie zadań .
Wybierz opcję Zaloguj się dla konta, z którego korzystasz w aplikacji.
4. Skonfiguruj akcję i zapobiegaj duplikowaniu obserwatorów
W sekcji Akcje wybierz Nowy , a następnie Uruchom program . Wpisz powershell.exeProgram /skrypt . W polu Dodaj argumenty użyj poniższej ścieżki skryptu i przejdź YourNamedo folderu użytkownika systemu Windows:
RemoteSignedDotyczy tylko tego procesu programu PowerShell i nie zmienia zasad obowiązujących na całym komputerze. Zasady organizacji mogą nadal blokować skrypty. Zapoznaj się z przewodnikiem firmy Microsoft dotyczącym zasad wykonywania programu PowerShell .
Uruchom zapisany moduł obserwujący za pomocą programu Windows PowerShell.
W Ustawieniach ustaw opcję „ Jeśli zadanie jest już uruchomione, wówczas obowiązuje następująca reguła : Nie uruchamiaj nowej instancji” . Pozwala to uniknąć uruchomienia drugiego obserwatora w przypadku ręcznego uruchomienia zadania. Kliknij OK , aby zapisać.
Zezwól na uruchomienie jednej kopii zadania obserwującego.
5. Przetestuj ponowne uruchomienie i zatrzymaj je, gdy będzie to konieczne
W bibliotece Harmonogramu zadań wybierz zadanie i kliknij Uruchom . Jeśli aplikacja jest już otwarta, obserwator na nią czeka. Zapisz swoją pracę, zamknij aplikację i odczekaj około minuty – powinna się ponownie otworzyć. Ponieważ każde wyjście z aplikacji powoduje ponowne uruchomienie, jej normalne zamknięcie jest również przydatnym testem.
Uruchom zadanie, aby je przetestować, lub wyłącz je, aby zapobiec automatycznemu ponownemu uruchamianiu się w przyszłości.
Aby zatrzymać bieżącego obserwatora, kliknij zadanie prawym przyciskiem myszy i wybierz opcję „Zakończ” . Wybierz opcję „Wyłącz” , aby zatrzymać jego uruchamianie po następnym zalogowaniu, lub usuń zadanie po jego wyłączeniu.
Rozwiązywanie problemów
Aplikacja się nie otwiera: Sprawdź obie ścieżki i upewnij się, że plik kończy się na .ps1, a nie .ps1.txt. Najpierw uruchom skrypt w oknie programu PowerShell, aby sprawdzić, czy wystąpił błąd. Nie osłabiaj zasad obowiązujących w pracy lub szkole; zapytaj administratora.
Aplikacja otwiera się dwukrotnie: Nazwa procesu zazwyczaj odpowiada nazwie pliku wykonywalnego bez .exe. Jeśli jest inna, ustaw $processNamerzeczywistą nazwę procesu. Zatrzymaj zadanie przed edycją skryptu.
Aplikacja ciągle się zawiesza: Wyłącz zadanie na czas rozwiązywania problemów z aplikacją. Funkcja monitorowania tylko ją ponownie uruchamia; nie może naprawić brakujących komponentów ani błędów aplikacji, przywrócić niezapisanych dokumentów ani niezawodnie obsługiwać aplikacji ze Sklepu i programów uruchamiających, które są przekazywane do innego procesu.