.png)
Ich habe gemäß dieser Anleitung zwei Aufgaben zum Schlafen und Aufwachen erstellt:https://www.groovypost.com/howto/schedule-wake-sleep-windows-automatically/
Wenn ich den Ruhezustand unabhängig ausführe, wechselt der PC in den Ruhezustand und wird durch eine Mausbewegung geweckt.
Wenn ich die Weckaufgabe plane und den PC über die Tastatur auf den Ruhezustand stelle, wird er durch die geplante Aufgabe geweckt.
Aufgaben funktionieren also unabhängig voneinander hervorragend, jedoch nicht in einer Aufgabenereigniskette.
Was ich versucht habe:
- Deaktivieren Sie den Ruhezustand durch
powercfg -h off
- Erlaubte Wecktimer (auf Aktiviert setzen) in Einstellungen -> Energieoptionen
- alles im BIOS aktiviert, was mit Ereignistimern und Weckzeiten zu tun hat
- Pausen zwischen Schlaf- und Wachaufgaben von mehr als 5 Minuten genutzt
- Schamane tanzt mit einem Tamburin
Zusätzliche Screenshots:
Herunterladbare Software ist keine Option. Dasselbe Verhalten auf PC und Laptop. Der Kampf dauert jetzt schon seit 2 Tagen an ...
Antwort1
$script = '$signature = @"
[DllImport("powrprof.dll")]
public static extern bool SetSuspendState(bool Hibernate,bool ForceCritical,bool DisableWakeEvent);
"@
$func = Add-Type -memberDefinition $signature -namespace "Win32Functions" -name "SetSuspendStateFunction" -passThru
$func::SetSuspendState($false,$true,$false)'
$bytes = [System.Text.Encoding]::Unicode.GetBytes($script)
$encodedCommand = [Convert]::ToBase64String($bytes)
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-encodedCommand $encodedCommand"
$trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 1 -At 16:43
Register-ScheduledTask -TaskName "Sleep" -Action $action -Trigger $trigger -Force
$action = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/c echo hello"
$settings = New-ScheduledTaskSettingsSet -WakeToRun
$trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 1 -At 16:44
Register-ScheduledTask -TaskName "Wake" -Action $action -Settings $settings -Trigger $trigger -Force
Klappt wunderbar :)
Verwenden Sie RUNDLL32 auch NICHT, weil
Rundll32 kann nur Funktionen aus einer DLL aufrufen, die explizit für den Aufruf durch Rundll32 geschrieben wurden.
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/rundll32#remarks