Jak zamknąć, ponownie uruchomić i wylogować okna za pomocą pliku bat?

Używałem Remote Desktop Connection aby dostać się do stacji roboczej, ale nie jestem w stanie użyć funkcji shutdown/restart w menu Start podczas tego wykonywania.

Umieściłem kilka naprawdę przydatnych opcji w Odpowiedzi poniżej.

Uwaga: Chciałem się upewnić, że zostały również wymienione niektóre naprawdę dobre odpowiedzi wraz z moimi własnymi na ten temat.

I tutaj nie są w określonej kolejności.

Author: Community, 2008-10-02

9 answers

Oto jak wykonać funkcje zamykania za pomocą pliku wsadowego:

  • shutdown -r - restarts
  • shutdown -s - shutsdown
  • shutdown -l - logoff
  • shutdown -t xx - Gdzie xx jest liczbą sekund oczekiwania do wyłączenia/restartu / wylogowania
  • shutdown -i - wyświetla okno dialogowe do wypełnienia funkcji, której chcesz użyć
  • shutdown -a - przerywa poprzednie polecenie shutdown....bardzo poręczne!
  • shutdown -h - hibernate. łatwy błąd - to nie dla pomoc
  • shutdown -y - usuwa wszystkie monity przy zamykaniu (pomoc nie jest dostępna w żadnej dokumentacji)

Opcje dodatkowe:

  • -f - Wymuś wybraną akcję
  • -t <seconds> - Ustaw czas wyłączenia. Użyj -t 0 Dla "teraz"
  • -c <message> - dodaje wiadomość do Shutdown
 1127
Author: Keng,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-02 09:27:59

Jeśli korzystasz ze zdalnego komputera, możesz również dodać opcję-f, aby wymusić ponowne uruchomienie. W przeciwnym razie sesja może się zamknąć, a uparta aplikacja może zawiesić system.

Używam tego, gdy chcę wymusić natychmiastowy restart:

shutdown -t 0 -r -f

Dla bardziej przyjaznej opcji "daj im trochę czasu", możesz użyć tego:

shutdown -t 30 -r

Jak widać w komentarzach,- f jest sugerowane przez timeout.

Brutus 2006 jest narzędziem, które zapewnia GUI dla tych opcje.

 371
Author: JosephStyons,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-21 23:48:54

Nikt nie wspomniał -m o opcji zdalnego wyłączania:

shutdown -r -f -m \\machinename

Także:

  • parametr -r powoduje Restart (co zwykle jest tym, czego potrzebujesz na zdalnej maszynie, ponieważ fizyczne uruchomienie może być trudne).
  • opcja parametru -f wymusza ponowne uruchomienie.
  • Musisz mieć odpowiednie uprawnienia, aby wyłączyć zdalną maszynę, oczywiście.
 81
Author: Kip,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-06 14:51:57

Oryginalna odpowiedź: październik 2008

Masz również wszystkie "rundll32.exe shell32.dll" serie:

(patrz aktualizacja poniżej)

  • rundll32.exe user.exe,**ExitWindows** [szybkie zamykanie okien]
  • rundll32.exe user.exe,**ExitWindowsExec** [Restart Windows]

    rundll32.exe shell32.dll,SHExitWindowsEx n
    

Gdzie n oznacza:

  • 0 - LOGOFF
  • 1 - SHUTDOWN
  • 2 - REBOOT
  • 4 - FORCE
  • 8 - POWEROFF

(można łączyć - > 6 = 2 + 4 FORCE REBOOT)


Aktualizacja Kwiecień 2015 (6+ lat później):

1800 informacja uprzejmie zaznaczam w komentarzach :

Nie używaj rundll32.exe do tego celu. Oczekuje, że funkcja przekazana w wierszu poleceń ma bardzo specyficzny podpis metody - nie pasuje do podpisu metody ExitWindows.

Raymond CHEN napisał:

Podpis funkcji wymagany dla funkcji wywołanych przez rundll32.exe to:

void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
       LPSTR pszCmdLine, int nCmdShow);

To nie powstrzymało ludzi od używania rundll32 do wywoływania funkcji losowych, które nie zostały zaprojektowane do wywoływania przez rundll32, takich jak user32 LockWorkStation lub user32 ExitWindowsEx.

(oops)

Rzeczywista sygnatura funkcji dla ExitWindowsEx to:

BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);

I aby było krystalicznie czyste:

Rundll32 jest pozostałością po Windows 95 i został wycofany przynajmniej od Windows Vista, ponieważ narusza wiele nowoczesnych wytycznych technicznych.

 38
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:55:19

Kolejna mała wskazówka: podczas przechodzenia trasy plików wsadowych lubię mieć możliwość przerwania jej na wypadek, gdybym uruchomił ją przypadkowo. Tak więc plik wsadowy wywołuje zamknięcie, ale potem pozostawia cię w wierszu polecenia.

@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r
Plus, ponieważ jest na czasomierzu, dostajesz taki sam dreszczyk emocji, jak podczas polowania na Oregońskim Szlaku.
 9
Author: Gavin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-10 03:12:53

Po przeniesieniu do komputera (docelowym jest i tak Windows XP; nie jestem pewien co do docelowego Windows Vista), chociaż Shutdown w menu start jest zastąpiony przez Disconnect Session lub coś w tym stylu, powinien być jeden o nazwie "Windows Security", który również robi to samo, co Ctrl + Alt + End , jak wskazał Owen.

 7
Author: Carl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-28 22:57:09

Prawdopodobnie wiesz o tym, ale na wszelki wypadek: o wiele łatwiej jest po prostu wpisać shutdown -r (lub jakąkolwiek komendę lubisz) w pole "Uruchom" i nacisnąć enter.

Zapisuje pozostawianie plików wsadowych leżących wszędzie.

 7
Author: Dean Rather,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-12 22:11:24

Zapisałbym to w notatniku lub WordPad dla podstawowego polecenia wylogowania:

@echo off
shutdown -l

Jest to w zasadzie to samo, co ręczne kliknięcie start i wylogowanie, ale jest tylko nieco szybsze, jeśli masz gotowy plik wsadowy.

 4
Author: Peter Mortensen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-28 22:58:01

Jestem spóźniony na imprezę, ale nie widziałem jeszcze tej odpowiedzi. Gdy nie chcesz używać pliku wsadowego lub wpisać polecenie. Możesz po prostu ustawić fokus na pulpicie, a następnie użyć Alt + F4 .

Windows zapyta cię, co chcesz zrobić, wybierz shutdown lub restart.

Aby zobaczyć zrzuty ekranu, a nawet Wideo, Zobacz: https://tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp

 4
Author: msoft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-15 14:59:47