wake-up-neo.com

Wie kann ich Windows über eine bat-Datei herunterfahren, neu starten oder abmelden?

Ich habe Remotedesktopverbindung verwendet, um auf eine Workstation zuzugreifen. In dieser Umgebung kann ich die Energieoptionen im Startmenü nicht verwenden. Ich benötige eine alternative Möglichkeit zum Herunterfahren oder Neustarten.

Wie steuere ich den Energiezustand meines Computers über die Befehlszeile?

646
Keng

Die gebräuchlichsten Methoden zur Verwendung des Befehls shutdown sind:

  • shutdown -s - Wird heruntergefahren.
  • shutdown -r - Neustart.
  • shutdown -l - Meldet sich ab.
  • shutdown -h - Winterschlaf.

    Hinweis: Es gibt eine häufige Gefahr, dass Benutzer denken, -h bedeutet "Hilfe" (was für jedes andere Befehlszeilenprogramm gilt). außer shutdown.exe, wo es "Ruhezustand" bedeutet). Sie führen dann shutdown -h aus und schalten versehentlich ihre Computer aus. Achten Sie darauf.

  • shutdown -i - "Interaktiver Modus". Anstatt eine Aktion auszuführen, wird ein GUI-Dialogfeld angezeigt.

  • shutdown -a - Bricht einen vorherigen Befehl zum Herunterfahren ab.

Die obigen Befehle können mit diesen zusätzlichen Optionen kombiniert werden:

  • -f - Erzwingt das Beenden von Programmen. Verhindert, dass das Herunterfahren blockiert.
  • -t <seconds> - Stellt die Zeit bis zum Herunterfahren ein. Verwenden Sie -t 0, um das System sofort herunterzufahren.
  • -c <message> - Fügt eine Meldung zum Herunterfahren hinzu. Die Nachricht wird im Ereignisprotokoll gespeichert.
  • -y - Erzwingt eine "Ja" -Antwort auf alle Abschaltabfragen.

    Hinweis: Diese Option ist in keiner offiziellen Dokumentation dokumentiert. Es wurde von diesen StackOverflow-Benutzern entdeckt.


Ich möchte sicherstellen, dass neben dieser auch einige andere wirklich gute Antworten erwähnt werden. Hier sind sie in keiner bestimmten Reihenfolge.

1156
Keng

Wenn Sie sich auf einem Remotecomputer befinden, möchten Sie möglicherweise auch die Option -f hinzufügen, um den Neustart zu erzwingen . Andernfalls wird Ihre Sitzung möglicherweise geschlossen und eine hartnäckige App kann das System zum Erliegen bringen.

Ich benutze dies, wenn ich einen sofortigen Neustart erzwingen möchte:

shutdown -t 0 -r -f

Für eine freundlichere Option "Geben Sie ihnen etwas Zeit" können Sie dies verwenden:

shutdown -t 30 -r

Wie Sie in den Kommentaren sehen können, wird das -f durch das Timeout impliziert.

Brutus 2006 ist ein Dienstprogramm, das eine grafische Benutzeroberfläche für diese Optionen bietet.

374
JosephStyons

Niemand hat die Option -m für das Remote-Herunterfahren erwähnt:

shutdown -r -f -m \\machinename

Ebenfalls:

  • Der Parameter -r führt zu einem Neustart (was normalerweise auf einem Remotecomputer gewünscht wird, da der physische Start möglicherweise schwierig ist).
  • Die -f -Parameteroption erzwingt den Neustart.
  • Sie müssen natürlich über die entsprechenden Berechtigungen verfügen, um den Remote-Computer herunterzufahren.
81
Kip

Ursprüngliche Antwort: Okt. 2008

Sie haben auch alle "rundll32.exe Shell32.dll" Serie:

(siehe Update unten)

  • _rundll32.exe user.exe,**ExitWindows**_ [Windows schnell herunterfahren]
  • _rundll32.exe user.exe,**ExitWindowsExec**_ [Windows neu starten]

    _rundll32.exe Shell32.dll,SHExitWindowsEx n
    _

wo n steht für:

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

(kombinierbar -> 6 = 2 + 4 _FORCE REBOOT_)


Update April 2015 (6+ Jahre später):

1800 INFORMATION weist freundlich darauf hin in den Kommentaren :

Verwenden Sie für diesen Zweck nicht _rundll32.exe_. Es wird erwartet, dass die Funktion, die Sie in der Befehlszeile übergeben haben, eine sehr spezifische Methodensignatur hat - sie stimmt nicht mit der Methodensignatur von ExitWindows überein.

Raymond CHEN schrieb:

Die für von _rundll32.exe_ aufgerufene Funktionen erforderliche Funktionssignatur lautet:

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

Das hat die Leute nicht davon abgehalten, _rundll32_ zu verwenden, um zufällige Funktionen aufzurufen, die nicht für den Aufruf durch _rundll32_ entwickelt wurden, wie _user32 LockWorkStation_ oder _user32 ExitWindowsEx_.

(Hoppla)

Die eigentliche Funktionssignatur für ExitWindowsEx lautet:

_BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);
_

Und um es glasklar zu machen:

_Rundll32_ ist ein Überbleibsel von Windows 95 und seit mindestens Windows Vista veraltet, da es gegen viele moderne technische Richtlinien verstößt.

37
VonC

Noch ein kleiner Tipp: Wenn ich die Batch-Datei-Route gehe, kann ich sie gerne abbrechen, falls ich sie versehentlich ausführe. Die Batch-Datei ruft also das Herunterfahren auf, lässt Sie aber anschließend bei der Eingabeaufforderung.

@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r

Da es sich um eine Zeitschaltuhr handelt, ist der Nervenkitzel bei der Jagd auf dem Oregon Trail ungefähr gleich hoch .

10
Gavin

Bei Remotezugriff auf einen Computer (Ziel ist ohnehin Windows XP; ich bin nicht sicher, ob Windows Vista das Ziel ist), obwohl Herunterfahren im Startmenü durch Sitzung trennen oder so ähnlich ersetzt wird dass es eine namens "Windows-Sicherheit" geben sollte, die auch das Gleiche tut wie Ctrl + Alt + End wie von Owen gezeigt.

7
Carl

Das ist Ihnen wahrscheinlich bewusst, aber nur für den Fall: Es ist viel einfacher, einfach shutdown -r (oder einen beliebigen Befehl) in das Feld "Ausführen" einzugeben und die Eingabetaste zu drücken.

Spart es, Batch-Dateien überall herumliegen zu lassen.

7
Dean Rather

Ich würde dies in Editor oder WordPad für einen grundlegenden Abmeldebefehl schreiben:

@echo off
shutdown -l

Dies entspricht im Wesentlichen dem manuellen Klicken auf Start und Abmelden, ist jedoch nur geringfügig schneller, wenn Sie die Batchdatei bereit haben.

5
Grant

Ich bin zu spät zur Party, habe diese Antwort aber noch nicht gesehen. Wenn Sie keine Stapeldatei verwenden oder den Befehl eingeben möchten. Sie können den Fokus einfach auf den Desktop legen und dann verwenden Alt + F4.

Windows fragt Sie, was Sie tun möchten, und wählt Herunterfahren oder Neustart.

Screenshots und sogar ein Video finden Sie unter: https://tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp

5
msoft