Muszę uruchamiać skrypty wsadowe przy zamykaniu domowej wersji systemu Windows 10, zarówno przy ręcznym ponownym uruchamianiu, jak i przy automatycznym ponownym uruchamianiu z powodu automatycznych aktualizacji systemu Windows. Musi to działać, gdy żaden użytkownik nie jest zalogowany. Do tej pory próbowałem:
- Zaplanowane zadanie na eventid 1047 (odrzucone, nie będzie czekać, aż mój skrypt się skończy).
- Ręczne dodawanie skryptów zamykania zasad grupy do rejestru i do C: WINDOWS SYSTEM32 GroupPolicy (odrzucona, nie będzie działać, ponieważ wygląda na to, że funkcja jest wyłączona przez ograniczenia narzucone przez edycję Windows).
- Oprogramowanie osób trzecich. Dziwne, ale nie mogłem znaleźć żadnego darmowego narzędzia, które działałoby jako usługa i pozwalało mi dodawać pliki .bat do uruchomienia przy zamykaniu systemu (lub usługi).
- Próbowałem AutoHotkey + NSSM [Non-Sucking Service Manager] jako usługę niestandardową, ale zdarzenia AutoHotkey nie uruchamiały się za każdym razem.
Jestem rozczarowany tym ograniczeniem.
Jakieś pomysły?
Edytuj1: Uwzględnij automatyczne aktualizacje systemu Windows.
Edit2: To musi działać, gdy nie są zalogowani również użytkownicy.
Edit4: Czekam na następny automatyczny restart systemu Windows z powodu aktualizacji systemu Windows, aby sprawdzić, czy działa shutdown -a
na początku pliku wsadowego, a następnie shutdown -s
na koniec w ramach zaplanowanego zadania przy zamykaniu systemu działa podejście do zdarzenia.
Edit5: Bummer, to nie działa. Zaplanowane zadanie nie zostało uruchomione: Błąd: „Trwa zamykanie”. Myślę, że moja jedyna nadzieja to narzędzie innej firmy.
źródło
shutdown -s
ale nie przez menu Start Przycisk zasilania. Będę musiał poczekać do następnego automatycznego uruchomienia aktualizacji systemu Windows, aby sprawdzić, czy będzie działać dla mnie. Prześlę wyniki z powrotem. Dzięki.gpedit.msc
rozwiąże Twój problem) Czy możesz przekonać swoją firmę do zapłacenia 99 USD za uaktualnienie z Home na Pro?Odpowiedzi:
Zrobiłem to wcześniej za pomocą AutoHotkey. Ten skrypt jest testowany i działa.
Zrobiłem podstawowy plik wsadowy, który utworzy „plik testowy” na pulpicie. Po prostu uruchom plik AHK i pozostaw go uruchomiony. Gdy skrypt wykryje zamknięcie, uruchomi plik wsadowy.
Upewnij się, że ustawiłeś ścieżkę do pliku tekstowego na górze skryptu.
Skrypt AutoHotkey:
Plik wsadowy, którego użyłem do testowania:
Jeśli chcesz, możesz zawsze wykonywać polecenia wsadowe bezpośrednio przez AHK.
źródło
OnMessage
nie jest tutaj zdefiniowane?Aktualizacja: Jeśli jest to coś, co należy zrobić przed zalogowaniem się następnego użytkownika, umieszczenie go w skrypcie uruchamiania komputera może zaspokoić twoją potrzebę. Jeśli jest to coś, co trzeba zrobić przed wyłączeniem zasilania, odpowiedz na to pytanie.
Jeśli Home edition nie pozwala na modyfikację lokalnych zasad, aby te skrypty działały, jest to ograniczenie wersji domowej i może być konieczne uaktualnienie. Jednak, TechNet nie zawęża wyjaśnienia, jak skonfigurować skrypt wyłączający poza Windows #.
Ponadto skrypt zamykania komputera będzie działać z uprawnieniami komputera. Skrypt wylogowania użytkownika zostanie uruchomiony z uprawnieniami zalogowanego użytkownika.
Użyj skryptu wsadowego, aby zamknąć? Po prostu użyj polecenia shutdown („shutdown -t 0”) na końcu skryptu zamknięcia. Umieść skrót do skryptu na pulpicie, użyj ikony przycisku zasilania.(Usunięto odpowiedź na podstawie wyłączenia pojedynczego użytkownika za pomocą skryptu zamiast opcji wyłączania menu startowego).źródło