Jak mogę zapobiec zasypianiu systemu Windows podczas zaplanowanego zadania?


8

Utworzyłem zaplanowane zadania na komputerze Vista i Win7, które wybudzają komputer, jeśli jest on w stanie uśpienia. Jeśli jednak zadanie trwa dłużej niż ustawienia zasilania są skonfigurowane w urządzeniu, urządzenie powróci do stanu uśpienia. Wygląda na to, że to narzędzie może być rozwiązaniem, ale zastanawiałem się, czy istnieją inne opcje.

Czy ktoś wie o komendzie PowerShell lub innym narzędziu, które zapobiegnie przejściu komputera w stan uśpienia podczas wykonywania zadania?

Odpowiedzi:


6

Najprostszym sposobem, jaki znalazłem, aby łatwo przełączać tryby zasilania w celu zarządzania zdolnością maszyn do zarządzania mocą jest zdefiniowanie schematów zasilania . Po prostu wchodzisz do panelu sterowania i tworzysz nowe schematy zasilania lub edytujesz istniejące, wstępnie zdefiniowane schematy. Skonfiguruj schemat tego, jak chcesz, aby urządzenie zachowywało się normalnie tam, gdzie przechodzi w tryb uśpienia, gdy jest to dozwolone. Na przykład na moich komputerach z systemem Windows 7 po prostu edytuję predefiniowany „zrównoważony” schemat zasilania. Następnie edytuj lub utwórz schemat, w którym maszyna działa z pełną prędkością / mocą przez 100% czasu i nie może spać. Ponownie po prostu edytuję istniejący schemat zasilania „High Performance” i konfiguruję go w ten sposób. Następnie, po zdefiniowaniu tych schematów zasilania, możesz łatwo napisać skrypt w trybie, w którym działa urządzenie, korzystając z programu POWERCFG.EXE narzędzie wiersza poleceń.

Pop otwórz okno wiersza poleceń i uruchom:

powercfg -list

... kiedy to się uruchomi, powinieneś otrzymać listę wszystkich schematów zasilania zdefiniowanych przez maszyny wraz z odpowiednią wartością GUID, którą musisz zanotować. Następnie, aby przełączyć maszynę z jednego schematu zasilania na inny, mam prosty plik wsadowy / skrypt, który mogę uruchomić, który przekazuje identyfikator GUID dla schematu, w którym chcę uruchomić maszynę. W ten sposób w moich zaplanowanych zadaniach i innych narzędziach, Mogę po prostu wywołać jeden z moich skryptów, aby maszyna działała bez hibernacji lub na pełnej prędkości. Plik wsadowy używa po prostu powercfg.exe z przełącznikiem setactive, aby wybrać odpowiedni schemat zasilania. Będzie to wyglądało mniej więcej tak:

powercfg -setactive 381b4222-f694-41f0-9685-ff5bb260df2e

Pamiętaj tylko, że ostatnia część to identyfikator GUID komputera, który otrzymujesz za pomocą powyższej komendy listy.


3
+1, nie wiem, dlaczego to nie ma więcej głosów poparcia. Moim zdaniem jest to najczystsze rozwiązanie problemu i nie polega na błędnym / nieudokumentowanym zachowaniu. Dzięki za udostępnienie.
Dominic P

1

W opcjach planowania zadania powinno znajdować się pole wyboru. W tej chwili nie mam przed sobą Win 7, więc nie mogę powiedzieć dokładnie, gdzie go użyłem.


Wiem, że jest pole wyboru do budzenia komputera w celu uruchomienia zaplanowanego zadania. Czy mówisz, że istnieje jedna, która zapobiega również przejściu komputera w stan uśpienia podczas zaplanowanego zadania?
Kevin

Wiedziałem, że zapomniałem coś sprawdzić, kiedy wróciłem do domu ... Ostatnio sprawdziłem, że jest pole, które nie pozwala mu zasnąć, gdy zadanie jest uruchomione.
AnonJr

Nie ma pudełka, które uniemożliwiałoby mu powrót do snu, ale pudełko wake the computer to run this taskrównież uniemożliwiałoby przejście komputera w sen
Raystafarian,

Opcja wybudzenia komputera NIE uniemożliwia komputerowi powrotu do trybu uśpienia w trakcie wykonywania zadania. O to właśnie chodzi.
kreemoweet

1

W Zaplanowanych zadaniach istnieje ustawienie, które można zaznaczyć lub odznaczyć, co spowoduje zamknięcie zadania lub skryptu, jeśli będzie ono działać dłużej niż czas określony przez sprawdzone ustawienie. Na przykład, jeśli masz zadanie, które budzi komputer o 4 rano, aby wykonać aktualizacje systemu Windows, skanowanie w poszukiwaniu wirusów itp., Zadanie nie zakończy się, jeśli zajmie to więcej czasu niż ustawiony w Zaplanowanym zadaniu-> Zadanie.nazwa -> Właściwości-> Ustawienia. Jeśli ten czas jest ustawiony na czas krótszy niż wymaga tego zadanie, może się wydawać, że zadanie nie zostało ukończone, ponieważ komputer przeszedł w tryb gotowości, gdy zadanie było jeszcze uruchomione, ale prawdziwym powodem jest to, że trzeba ustawić dłuższy czas . Lub pole może być odznaczone, więc nie ma żadnych ograniczeń czasowych.


0

W harmonogramie zadań przejdź do properties - conditions tab - select 'Wake the computer to run this task'. W W7 powoduje to również, że komputer nie przechodzi w stan hibernacji, jeśli zadanie jest uruchomione

edit - jak zauważyli komentatorzy, ten błąd może nie zostać naprawiony. Nie doświadczyłem tego, dlatego doszedłem do wniosku, że zostało to naprawione, ale istnieją doniesienia, że ​​nie zostało naprawione między widokiem perspektywicznym a 7, co wskazuje OP. Three to wątek na Acronis ze skryptem, który możesz utworzyć i uruchomić z zadaniami, które zatrzymają hibernację komputera. Ponadto na tej stronie znajduje się post dotyczący wstawiania pingdo zadań, aby zatrzymać hibernację komputera.


Jeśli ten błąd został naprawiony w Win7, dobrze wiedzieć, ale nadal występuje w Vistie, która jest jednym z tematów tego pytania.
kreemoweet

Autor pytania wydaje się twierdzić, że twoje twierdzenie jest nieprawidłowe. Czy masz referencje?
kreemoweet

To działa dla mnie, ale jestem na komputerze. Może to tylko moje ustawienia. ten krok wątku 10 wskazuje, że musisz zmienić niektóre ustawienia limitu czasu powrotu do trybu uśpienia dla tej metody. Niestety nie mogę znaleźć żadnej dokumentacji, w której W7 naprawił ten błąd z widoku.
Raystafarian

ten post ma dobre obejście błędu, jeśli nie zostało naprawione. Nie mogę znaleźć żadnej dokumentacji, która została naprawiona, mimo że jej nie doświadczam. Zostawię moją odpowiedź do wglądu i zaktualizuję ją stosownymi informacjami
Raystafarian
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.