Какая команда PowerShell эквивалентна выбору "Sleep" из меню Win7?

Какие команды PS я использую, чтобы перевести мой сон в режим сна, как в описании, когда наведу указатель мыши на пункт меню "Спящий режим" в меню Windows:

Keeps your session in memory and puts the computer in
a low-power state so that you can quickly resume
working.

Эти потоки SE SuperUser имеют некоторые идеи о похожих решениях:

Какую команду использовать, чтобы перевести компьютер в спящий режим (не в спящий режим)?

Как написать в Windows 7 команду "сна"

... но очевидно, что rundll32.exe повреждает стек, и эти решения находятся в спящем режиме, а не "спят".

Когда в меню выбран "Sleep", я предполагаю, что не было вызвано никакой магии, которая не может быть воспроизведена с помощью простой команды или псевдонима для сценария?

=========================================

на пользователя @jnL (очень благодарен!) Теперь у меня есть следующее в моем профиле PS, и я могу вызвать "Sleep" с nap: C:\Users\ имя_пользователя \Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

function sleepy_time {
Add-Type -AssemblyName System.Windows.Forms
$PowerState = [System.Windows.Forms.PowerState]::Suspend;
$Force = $false;
$DisableWake = $false;
[System.Windows.Forms.Application]::SetSuspendState($PowerState, $Force, $DisableWake);
}

new-alias -name nap -value sleepy_time

1 ответ

Решение

С вашей предоставленной ссылкой в разделе комментариев...

Создайте сценарий PS или выполните следующие строки непосредственно в PowerShell:

# load assembly System.Windows.Forms which will be used
Add-Type -AssemblyName System.Windows.Forms

# set powerstate to suspend (sleep mode)
$PowerState = [System.Windows.Forms.PowerState]::Suspend;

# do not force putting Windows to sleep
$Force = $false;

# so you can wake up your computer from sleep
$DisableWake = $false;

# do it! Set computer to sleep
[System.Windows.Forms.Application]::SetSuspendState($PowerState, $Force, $DisableWake);
Другие вопросы по тегам