2017-01-13 4 views
1

Возможно ли получить статус гибернации с использованием оболочки?Получить статус спящего режима

Я использую powercfg.exe, чтобы включить/отключить его, и, похоже, нет никакого способа получить статус, даже используя/Q (запрос).

Я также пытался основывать это на существовании %SystemDrive%\hiberfil.sys, но для этого требуются права администратора.

ответ

4

Вы можете проверить ключ реестра:

Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\Power -name HibernateEnabled 

Или удаленно с помощью .Net и удаленного реестра:

$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', "ExampleComputer") 
$RegKey = $Reg.OpenSubKey("SYSTEM\\CurrentControlSet\\Control\\Power") 
$RegKey.GetValue("HibernateEnabled") 
+0

Thx. Я смотрел реестр и как-то пропустил это. – majkinetor

0

Вот является альтернативой для , на основании запроса реестра с помощью BenHanswer:

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" 

Для захвата r esult и сохранить его в переменной, используйте это:

for /F "delims=" %%V in (' 
    reg query "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" 
') do set "Hibernate=%%V" 
Смежные вопросы