Технология Wake on LAN (WoL) используется для удалённого пробуждения (включения) компьютера, который находится в спящем режиме (режиме пониженного энергопотребления). Сетевая карта компьютера инициирует процесс пробуждения компьютера после получение специального широковещательного пакета (magic packet) со своим MAC адресом. В этой статье мы рассмотрим, как настроить Wake on LAN на компьютере под управлением Windows.
В первую очередь нужно включить функцию Wake-on-LAN в настройках BIOS/UEFI компьютера. В зависимости от модели компьютера и версии прошивки название этой опции может отличаться. Она может называться:
$getLenovoBIOS = gwmi -class Lenovo_SetBiosSetting -namespace rootwmi
$getLenovoBIOS.SetBiosSetting("WakeOnLAN,Enable")
$SaveLenovoBIOS = (gwmi -class Lenovo_SaveBiosSettings -namespace rootwmi)
$SaveLenovoBIOS.SaveBiosSettings()
Затем нужно разрешить Wake on LAN (WOL) в настройках сетевого адаптера в Windows.
devmgmt.msc
); Get-NetAdapter -Physical | Get-NetAdapterAdvancedProperty | where {($_.DisplayName -like '*WOL*') -or ($_.DisplayName -like '*Wake*')}
Get-NetAdapter -Physical | Set-NetAdapterPowerManagement -WakeOnMagicPacket Enabled -WakeOnPattern Enabled
powercfg /deviceenablewake "Realtek PCIe GbE Family Controller"
С помощью следующей команды можно проверить, каким устройствам разрешено будить компьютер:
powercfg /devicequery wake_armed
В данном случае видно, что сетевой карте Realtek PCIe разрешено выводить компьютер из спящего режима.
Теперь, вы можете отправить WoL пакет для удаленного включения компьютера с другого устройства в той же локальной сети. Magic Packet содержит аппаратный адрес сетевой карты (MAC адрес), компьютера который нужно включить. Вы можете узнать MAC адрес сетевой карты компьютера из команды ipconfig /all
или получить его с помощью PowerShell:
Get-NetAdapter -Physical
Вы можете сформировать и отправить широковещательный magic пакет WOL с помощью PowerShell. Укажите MAC адрес устройства, которое нужно включить в следующем скрипте и выполните его:
$Mac = "08:9e:01:6b:52:a2"
$MacByteArray = $Mac -split "[:-]" | ForEach-Object { [Byte] "0x$_"}
[Byte[]] $MagicPacket = (,0xFF * 6) + ($MacByteArray * 16)
$UdpClient = New-Object System.Net.Sockets.UdpClient
$UdpClient.Connect(([System.Net.IPAddress]::Broadcast),7)
$UdpClient.Send($MagicPacket,$MagicPacket.Length)
$UdpClient.Close()
Если вы все настроили правильно, удаленный компьютер должен проснуться.
UDP порт 9
) на уровне коммутаторов/маршрутизаторов. Для удаленного пробуждения компьютеров можно использовать бесплатную Windows утилиту от NirSoft WakeMeOnLan . Утилита позволяет автоматически просканировать LAN и найти все доступные устройства, или вы можете вручную добавить устройства, которые вы хотите включать удаленно через WakeOnLan.
Утилита поддерживает режим работы из командной строки. Чтобы включить компьютер, нужно выполнить команду (утилита отрезолвит IP адрес в MAC по arp таблице):
WakeMeOnLan.exe /wakeup 192.168.31.15
Или по MAC адресу:
WakeMeOnLan.exe /wakeup 08-9E-01-6B-52-A2
Также можно использовать утилиты для смартфонов. Например, Wake On LAN для Android (для удаленного включения компьютера вы должны быть подключены к той же LAN через Wi-Fi точку доступа).
Откройте панель powercfg.cpl
-> Choose what the power buttons do -> Change settings that are currently unavailable -> отключите опцию Turn on fast startup (recommended) .
Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…
Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…
Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…
The AC power adapter wattage and type cannot be determined — причины и решение При…
Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…
Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…