2009-09-11 10:16:21 +0000 2009-09-11 10:16:21 +0000
63
63

Wie lautet der Befehl, um den Computer in den Ruhezustand zu versetzen (nicht in den Winterschlaf)?

Ich möchte meinen Windows-PC (Windows 7) über die Befehlszeile in einen Ruhezustand versetzen (damit ich die Makrotaste auf der Tastatur binden kann).

Der Netzschalter am PC ist so eingestellt, dass er den Computer in den Ruhezustand versetzt (aber er steht auf dem Boden und ich bin zu faul, um hinunter zu greifen), und zwar genau so, wie ich es will (schläft im Hybridmodus, falls ich den Strom verliere)

Der Befehl “Ruhezustand” im Menü “Herunterfahren” funktioniert auch.

Die meisten Informationen, die ich gefunden habe, sagen, dass man

%windir%\system32\rundll32.exe PowrProf.dll, SetSuspendState 0,1,0

verwenden soll, aber das versetzt den Computer in den Ruhezustand. Ich habe den Ruhezustand deaktiviert, verwende aber den hybriden Ruhezustand.

Wie lautet also der Befehl, mit dem der Computer in den Ruhezustand versetzt wird (nicht in den Ruhezustand)?

Antworten (8)

73
73
73
2010-09-15 03:25:22 +0000

Ich hoffe, Sie finden diese nützlich.

Herunterfahren %windir%\System32\shutdown.exe -s

Neustart %windir%\System32\shutdown.exe -r

Abmelden %windir%\System32\shutdown.exe -l

Standby %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby

Hibernate %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate

Vorsicht: rundll32.exe sollte nicht verwendet werden, um powerprof.dll zu starten . Stattdessen sollten Sie SetSuspendState direkt aufrufen. Dies kann mit Powershell erfolgen - erstellen Sie eine Datei, z. B. sleep.ps1, mit dem folgenden Inhalt.

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

Führen Sie sie dann mit powershell -File C:\your-path\sleep.ps1 aus. Möglicherweise müssen Sie zuerst den Befehl Set-ExecutionPolicy RemoteSigned ausführen, um die Ausführung von Powershell-Skripten zu ermöglichen.

Das obige Skript veranlasst einen Systemstillstand, der je nach aktueller Einstellung für den Ruhezustand entweder in den Ruhezustand oder in den Ruhezustand übergeht. Um diese Einstellung über die Befehlszeile zu ändern, führen Sie powercfg -h off (oder on) über die Befehlszeile als Administrator aus.

16
16
16
2009-09-11 10:38:59 +0000

Siehe das kostenlose Dienstprogramm von Wizmo , das sehr viele Dinge tun kann.
Der Befehl, nach dem Sie suchen, lautet wahrscheinlich:

wizmo standby

14
14
14
2011-06-29 18:56:07 +0000

Sie können eine Datei mit der Erweiterung .ps1 (powershell) wie “sleep.ps1” erstellen und dies schreiben:

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

Ich benutze das, wenn ich etwas laufen habe und den PC verlassen muss und ihn nicht ausschalten möchte. Also ändere ich das Skript so, dass es wie folgt aussieht:

$minutes = read-host "Enter minutes to wait until sleep";
$secs= 60*$minutes;
Start-sleep -s $secs

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

Und wenn ich es jetzt ausführe, gebe ich einfach die Minuten ein, die ich bis zum Einschlafen warten möchte.

Sie können dies von der cmd-Zeile aus ausführen, indem Sie

powershell -File C:\your-path\sleep.ps1

schreiben. Wenn Sie noch nie ein PowerShell-Skript ausgeführt haben, müssen Sie zuerst

Set-ExecutionPolicy RemoteSigned

in PowerShell ausführen, um die Skriptausführung zu aktivieren. Dies muss nur einmal ausgeführt werden.

13
13
13
2010-05-28 19:01:38 +0000

Ich habe eine Lösung gefunden. Ich installierte ein Freeware-Programm namens AutoHotKey und zeichnete die Schritte zum Aufrufen von Startmenü -> Schlafen in einer Skriptdatei auf. Dann habe ich die Skriptdatei in eine eigenständige ausführbare Datei SleepWin7.exe kompiliert.

Jetzt führe ich einfach SleepWin7.exe aus, um meinen Computer in den hybriden Ruhezustand zu versetzen.

Sie können AutoHotKey deinstallieren, wenn dies alles ist, wofür Sie es brauchen.


Update: Die obige Lösung funktioniert nicht, wenn der Benutzer nicht angemeldet ist, d.h. der Windows 7 Anmeldebildschirm. (Mein Computer wacht jeden Sonntag um 4 Uhr morgens auf, um ein wöchentliches Backup durchzuführen, das ohne Benutzeranmeldung erfolgt.) In diesem Fall funktioniert das Programm Wizmo trotzdem:

wizmo.exe quiet standby!

11
11
11
2012-06-20 19:25:37 +0000

Mit Sysinternals PsTools [ Download ]:

psshutdown -d

Mit dem Kommandozeilen-Tool PsShutdown .

(Sie bevorzugen vielleicht diese Lösung, wenn Sie PsTools bereits heruntergeladen haben, es ist ziemlich weit verbreitet. Ansonsten ist dieser Ansatz äquivalent zur Verwendung von wizmo quiet standby.)

Quelle: https://superuser.com/a/331545/21887

7
7
7
2012-10-10 04:25:06 +0000

Ich benutze dieses SLEEP.EXE Dienstprogramm schon seit Jahren. Es funktioniert gut, und man muss sich nicht merken, welche Argumente man ihm für den Suspend-Modus (seine Standardform von “sleep”) geben muss.

5
5
5
2010-12-16 17:25:46 +0000

Erstellen Sie eine Bat-Datei, wobei 600 die Verzögerung in Sekunden ist.

ping -n 600 -w 1 127.0.0.1 > nul

powercfg -h off

%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby

4
4
4
2010-09-15 00:55:39 +0000

Wenn Sie mit dem Kompilieren eines .NET-Programms vertraut sind, wird der folgende Befehl dies tun

System.Windows.Forms.Application.SetSuspendState(PowerState.Suspend, 
                                                 false, /* force */
                                                 true /* disableWake */);

Hinweis: Sie müssen den Ruhezustand nicht deaktivieren, wie es der Befehl rundll32 powrprof.dll,SetSuspendState erfordert. Sie können auch PowerState.Hibernate verwenden, das den Rechner in den Ruhezustand versetzt, wenn Sie wollen.

Mit diesem Befehl können Sie leicht eine EXE mit jeder Version von Visual Studio kompilieren. Erstellen Sie einfach eine Konsolenanwendung und fügen Sie einen Verweis auf die System.Windows.Forms DLL hinzu.