it-swarm.com.de

Mit welchem ​​Befehl wird der Computer in den Energiesparmodus versetzt (nicht in den Ruhezustand versetzt)?

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

Der Einschaltknopf am PC ist so eingestellt, dass der Computer nicht in den Ruhezustand wechselt (aber er liegt auf dem Boden und ich bin zu faul, um nach unten zu greifen).

Der Befehl "Ruhezustand" im Menü "Herunterfahren" funktioniert ebenfalls.

die meisten Informationen, die ich gefunden habe, sagen zu verwenden;

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

Dadurch wird der Computer jedoch in den Ruhezustand versetzt. Ich habe den Winterschlaf deaktiviert, benutze aber den Hybridschlaf.

Also, was ist der Befehl, um Ihren Computer in den Ruhezustand zu versetzen (nicht in den Ruhezustand)?

63
Eric L

Ich habe eine Lösung gefunden. Ich habe ein Freeware-Programm namens AutoHotKey installiert und die Schritte zum Aufrufen von Start Menu -> Sleep in einer Skriptdatei aufgezeichnet. Dann habe ich die Skriptdatei in eine eigenständige ausführbare SleepWin7.exe umgewandelt.

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 benötigen.


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 eine wöchentliche Sicherung durchzuführen. Dies erfolgt ohne Benutzeranmeldung.) In diesem Fall funktioniert das Programm Wizmo weiterhin:

wizmo.exe leise Standby!

13
Andy Lee

Ich hoffe, Sie finden diese nützlich.

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

%windir%\System32\shutdown.exe -r neu starten

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

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

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

Achtung: rundll32.exe sollte nicht zum Starten von powerprof.dll verwendet werden. 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 es dann mit powershell -File C:\your-path\sleep.ps1 aus. Möglicherweise müssen Sie zuerst den Befehl Set-ExecutionPolicy RemoteSigned ausführen, damit Powershell-Skripts ausgeführt werden können.

Das obige Skript führt zu einer Systemunterbrechung, die abhängig von Ihrer aktuellen Ruhezustandseinstellung entweder in den Ruhezustand oder in den Ruhezustand wechselt. Um diese Einstellung über die Befehlszeile zu ändern, führen Sie powercfg -h off (oder on) über die Befehlszeile als Administrator aus.

72
imoatama

Sehen Sie sich das kostenlose Dienstprogramm Wizmo an, das sehr viele Dinge kann.
Der gesuchte Befehl lautet wahrscheinlich:

wizmo Standby

15
harrymc

Sie können eine Datei mit der Erweiterung .ps1 (Powershell) wie "sleep.ps1" erstellen und Folgendes schreiben:

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

Ich benutze dies, wenn etwas läuft und ich den PC verlassen muss und ihn nicht ausschalten möchte. Also ändere ich das Skript so:

$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 jetzt, wenn ich es starte, gebe ich einfach die Minuten ein, die ich warten möchte, bis ich eingeschlafen bin.

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

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

Wenn Sie noch nie ein PowerShell-Skript ausgeführt haben, sollten Sie es zuerst ausführen

Set-ExecutionPolicy RemoteSigned

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

14
Artur Carvalho

Mit Sysinternals PsTools [ download ]:

psshutdown -d

verwenden Sie das Befehlszeilentool PsShutdown .

(Möglicherweise bevorzugen Sie diese Lösung, wenn Sie bereits PsTools heruntergeladen haben. Sie wird häufig verwendet. Ansonsten entspricht dieser Ansatz der Verwendung von wizmoquiet standby.)

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

11
Aaron Thoma

Ich benutze dieses SLEEP.EXE Dienstprogramm seit Jahren. Es funktioniert gut und Sie müssen sich nicht merken, welche Argumente es für den Suspend-Modus gibt (die Standardform von "sleep").

7
jjlin

um den Ruhezustand zu deaktivieren, müssen Sie verwenden

powercfg -h off

jetzt wird rundll32 powrprof.dll, SetSuspendState Ihre Station in den Standby-Modus versetzen

[EDIT]

eigentlich kann ich keinen hybriden Schlafmodus einrichten, da ich einen Laptop besitze (ein Status, der auf Mobilstationen nicht verfügbar ist). Für den hybriden Schlafmodus muss der Ruhezustand aktiviert sein, und einige sagen, dass rundll32 powrprof.dll und SetSuspendState den Standardschlaf auslösen Modus in Ihrer Systemsteuerung\Energieverwaltungseinstellungen. Bitte versuchen Sie es, wenn rundll32 powrprof.dll, SetSuspendState hybrid sleep einige Ergebnisse liefert.

6
user8228

Machen Sie eine Fledermaus-Datei, in der 600 Sekunden Verzögerung ist.

ping -n 600 -w 1 127.0.0.1> nul

powercfg -h aus

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

5
dim77x

Wenn Sie mit dem Kompilieren eines .NET-Programms vertraut sind, führt das folgende Befehl dies aus

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

Hinweis: Sie müssen den Ruhezustand nicht deaktivieren, wie dies für den Befehl rundll32 powrprof.dll,SetSuspendState erforderlich ist. Sie können auch PowerState.Hibernate verwenden, um den Computer in den Ruhezustand zu versetzen.

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

4
Simon