PowerShell - Гибридное выключение для удаленного компьютера

Аватара пользователя
The_Immortal

PowerShell - Гибридное выключение для удаленного компьютера

Сообщение The_Immortal »

Всех приветствую!



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



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

Код:

Код: Выделить всё

shutdown.exe /s /hybrid /m /compname

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



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



Это как-то можно организовать?
Аватара пользователя
Kazun

Re: PowerShell - Гибридное выключение для удаленного компьютера

Сообщение Kazun »

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





Код:

Код: Выделить всё

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, в статье написано как.
Аватара пользователя
Foreigner

Re: PowerShell - Гибридное выключение для удаленного компьютера

Сообщение Foreigner »

Kazun,
Цитата Kazun:



PS. Если не работает WOL, то смотреть настройки BIOS и отключить hybrid shutdown (S4) state, в статье написано как.
PowerShell - Гибридное выключение для удаленного компьютера




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




Цитата Kazun:



Проверить можно:
PowerShell - Гибридное выключение для удаленного компьютера




Проверил.

Если выполняю выключение вот так:

Код:

Код: Выделить всё

shutdown.exe /s /hybrid /m /compname

, то после загрузки выдается
Цитата:



Использовался следующий тип загрузки: 0x0.



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



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

Re: PowerShell - Гибридное выключение для удаленного компьютера

Сообщение The_Immortal »

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

Код:

Код: Выделить всё

shutdown.exe /s /hybrid

на целевом компьютере через telnet и WinRs - компьютер ушел в S5! Изображение



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



Изображение



Так что PowerShell - последняя надежда...
Аватара пользователя
The_Immortal

Re: PowerShell - Гибридное выключение для удаленного компьютера

Сообщение The_Immortal »

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

Код:

Код: Выделить всё

shutdown.exe /s /hybrid

на целевом компьютере через telnet и WinRs - компьютер ушел в S5! Изображение



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



Изображение



Так что PowerShell - последняя надежда...
Аватара пользователя
Kazun

Re: PowerShell - Гибридное выключение для удаленного компьютера

Сообщение Kazun »

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



Код:

Код: Выделить всё

invoke-wmimethod -computername remotepc -path win32_process -name create -argumentlist "shutdown.exe /s /hybrid"
Аватара пользователя
The_Immortal

Re: PowerShell - Гибридное выключение для удаленного компьютера

Сообщение The_Immortal »

Kazun, не-а


Цитата:



Использовался следующий тип загрузки: 0x0.



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

Re: PowerShell - Гибридное выключение для удаленного компьютера

Сообщение Foreigner »

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



Код:

Код: Выделить всё

(get-wmiobject win32_operatingsystem -computer comp).win32shutdown(5)
Аватара пользователя
The_Immortal

Re: PowerShell - Гибридное выключение для удаленного компьютера

Сообщение The_Immortal »

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

Re: PowerShell - Гибридное выключение для удаленного компьютера

Сообщение The_Immortal »

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





Код:

Код: Выделить всё

schtasks /create /s remote /ru system /sc once /tn shuthb /tr "shutdown /s /hybrid" /st 10:00
schtasks /run /s remote /tn shuthb
Ответить

Вернуться в «Скриптовые языки администрирования Windows»