Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Гибридное выключение для удаленного компьютера (http://forum.oszone.net/showthread.php?t=310589)

The_Immortal 20-01-2016 12:01 2597190

Гибридное выключение для удаленного компьютера
 
Всех приветствую!

Друзья, подскажите, пожалуйста, каким образом можно отправить удаленный компьютер (Windows 8.1) в hybrid shutdown state (S4), используя PowerShell?

Я знаю про cmd-команду
Код:

shutdown.exe /s /hybrid /m /compname
Но она отправляет компьютер в обычное S5 (off) состояние, вместо ожидаемого hybrid shutdown state (S4).

Существует такое перечисление PowerState Enumeration, но оно включается лишь два значения: hibernate and suspend. Но чистая гибернация это не то, что мне надо. Мне нужно именно сочетание гибернации с выключением, т.е. hybrid shutdown (S4).

Это как-то можно организовать?

Kazun 20-01-2016 12:37 2597208

Проверить можно:

Код:

Get-WinEvent -ProviderName Microsoft-Windows-Kernel-boot -MaxEvents 10 | Where-Object {$_.id -like "27"}
Код:

0x0 cold boot from full shutdown
0x1 hybrid boot (fast startup)
0x2 resume from hibernation

https://support.microsoft.com/en-us/kb/2776718

HTML код:

Windows 8 and Windows 8.1
In Windows 8 and Windows 8.1, the default shutdown behavior puts the system into the hybrid shutdown state (S4), and all devices are put into D3. WOL from S4 or S5 is unsupported. Network adapters are explicitly not armed for WOL in either S5 or S4 cases because users expect zero power consumption and battery drain in the shutdown state. This behavior removes the possibility of invalid wake-ups when an explicit shutdown is requested. Therefore, WOL is supported only from sleep (S3) or hibernation (S4) states in Windows 8 and 8.1.

PS. Если не работает WOL, то смотреть настройки BIOS и отключить hybrid shutdown (S4) state, в статье написано как.

The_Immortal 20-01-2016 12:52 2597215

Kazun,
Цитата:

Цитата Kazun
PS. Если не работает WOL, то смотреть настройки BIOS и отключить hybrid shutdown (S4) state, в статье написано как. »

Понимаете, мне наоборот надо, чтобы срабатывал hybrid shutdown (S4) state, т.к. с ним у меня WoL работает без проблем. А вот из S5 WoL не срабатывает никак.

Цитата:

Цитата Kazun
Проверить можно: »

Проверил.
Если выполняю выключение вот так:
Код:

shutdown.exe /s /hybrid /m /compname
, то после загрузки выдается
Цитата:

Использовался следующий тип загрузки: 0x0.
Баг MS? Или просто shutdown не поддерживает гибридное выключение для удаленной машины? Зачем же тогда разрешать выполнение данной команды?

Поэтому я и хочу попробовать как-нибудь по-другом вызывать гибридное выключение, а не через shutdown, который не срабатывает.

The_Immortal 20-01-2016 13:55 2597255

Прямо напасть какая-то... Попробовал выполнение команды
Код:

shutdown.exe /s /hybrid
на целевом компьютере через telnet и WinRs - компьютер ушел в S5! :cry:

Если выполнить ту же команду, но локально (непосредственно на это компьютере, например через RDP), то всё нормально - компьютер гибридно выключается.

:durak:

Так что PowerShell - последняя надежда...

Kazun 20-01-2016 14:02 2597259

Попробовать через WMI:
Код:

invoke-wmimethod -computername remotepc -path win32_process -name create -argumentlist "shutdown.exe /s /hybrid"

The_Immortal 20-01-2016 14:09 2597269

Kazun, не-а :(
Цитата:

Использовался следующий тип загрузки: 0x0.
Как вообще такое возможно? telnet - это то же cmd по сути. Почему из-под него не выполняется команда аналогичным образом? Почему игнорируется ключ /hybrid?

Foreigner 20-01-2016 14:15 2597272

The_Immortal, А через wmi не работает?
Код:

(get-wmiobject win32_operatingsystem -computer comp).win32shutdown(5)

The_Immortal 20-01-2016 14:21 2597276

Foreigner, win32shutdown(5) - это обычное выключение. win32shutdown не предоставляет опции для hybrid shutdown.

Kazun 20-01-2016 14:23 2597278

А если через планировщик?

Код:

schtasks /create /s remote /ru system /sc once /tn shuthb /tr "shutdown /s /hybrid" /st 10:00
schtasks /run /s remote /tn shuthb


The_Immortal 20-01-2016 14:42 2597293

Kazun, опять обычное выключение... Это мистика, глюк или by design? Если последнее, то сомнительный дизайн получился какой-то. У меня куча компов, которые надо удаленно выключать и включать (не используя при этом ждущий режим или гибернацию). Как решать задачу - просто не представляю :(

Foreigner 20-01-2016 14:46 2597298

The_Immortal, Чем hybrid отличается от hibernate? Последний работает только на локальной машине после включения данной опции (powercfg -h)

The_Immortal 20-01-2016 14:47 2597299

Foreigner, hybrid - это лог-офф + последующая гибернация. Вот тут просто расписано, если интересно.

Foreigner 20-01-2016 15:20 2597324

Цитата:

Цитата The_Immortal
это лог-офф + последующая гибернация »

значит удаленно (через shutdown.exe) не выйдет, гибернация возможна только на локальной машине.

The_Immortal 20-01-2016 16:19 2597344

Foreigner, но тогда непонятно, почему не срабатывает локальная команда через telnet и winrs?
Цитата:

Цитата Foreigner
гибернация возможна только на локальной машине »

К примеру, PsShutdown спокойно отправляет в гибернацию удаленную машину. Только, к сожалению, данная утилита не имеет поддержки hybrid shutdown.

Foreigner 20-01-2016 16:25 2597347

Цитата:

Цитата The_Immortal
но тогда непонятно, почему не срабатывает локальная команда »

А включена гибернация?
Код:

powercfg /h

The_Immortal 20-01-2016 17:00 2597360

Foreigner, обижаете... Конечно. Я же как-то тестировал команду
Код:

shutdown /s /hybrid
локально - она успешно выполняется.

The_Immortal 21-01-2016 13:26 2597684

В общем, после небольшой дискуссии на технете обнаружилось, что удаленным образом выполнить гибридное выключение невозможно. Для этого необходим full logon (например, через RDP).

Но я буду жаловаться по этому поводу в MS :)

Благодарю за помощь!

Iska 21-01-2016 23:39 2597916

The_Immortal, тут бы пригодилась и ссылка на эту небольшую дискуссию :).

The_Immortal 22-01-2016 18:00 2598201

Iska, пожалуйста.


Время: 05:49.

Время: 05:49.
© OSzone.net 2001-