Wake on LAN (WoL) - стартиране на компютри през мрежата

Понякога искате да стартирате компютър, без да натискате бутона за захранване. И това може да се направи... по мрежата с помощта на технология, наречена Wake on LAN (WoL).

Но как може да се направи в AutoHotkey?


person Forivin    schedule 05.04.2015    source източник


Отговори (2)


За да събудите компютър през вашата LAN, трябва да създадете и изпратите така наречения магически пакет. Всичко, което трябва да знаете, е mac адресът на вашия целеви компютър. Освен това се уверете, че е правилно настроен за WoL.

Събуждането на компютъра може да се направи доста лесно с помощта на библиотеката на сокетите в AHK:

#include Socket.ahk ;http://pastebin.com/CtM9p4QG

WakeOnLAN("AABBCCDDEEFF") ;Example  - use the mac address of your target here
ExitApp

WakeOnLAN(mac) {
    magicPacket_HexString := GenerateMagicPacketHex(mac)
    size := CreateBinary(magicPacket_HexString, magicPacket)
    UdpOut := new SocketUDP()
    UdpOut.connect("addr_broadcast", 9)
    UdpOut.enableBroadcast()
    UdpOut.send(&magicPacket, size)
}
GenerateMagicPacketHex(mac) {
    magicPacket_HexString := "FFFFFFFFFFFF"
    Loop, 16
        magicPacket_HexString .= mac
    Return magicPacket_HexString
}
CreateBinary(hexString, ByRef var) { ;Credits to RHCP!
    sizeBytes := StrLen(hexString)//2
    VarSetCapacity(var, sizeBytes)
    Loop, % sizeBytes
        NumPut("0x" SubStr(hexString, A_Index * 2 - 1, 2), var, A_Index - 1, "UChar")
    Return sizeBytes
}
person Forivin    schedule 05.04.2015

Можете да използвате Softperfect Network Scanner (този, който има футболна топка за икона) и след това използвайте AutoHotkey, за да изпратите командни редове до него. Можете да го стартирате и преносимо, така че дори не е необходимо да инсталирате нищо.

netscan := "c:\program files\netscan\netscan.exe"
run, %netscan% /wol:AA:EE:73:43:BB:73

Синтаксисът на командния ред за netscan е в долната част на страницата с документи.

/wol:MAC изпраща магически пакет Wake-On-LAN до посочения MAC адрес и незабавно излиза. Пример: /wol:AABBCCDDEEFF.

/wolfile:filename.txt ви позволява да посочите текстов файл с MAC адреси за събуждане, напр. /wolfile:c:\myfile.txt, където файлът е обикновен текстов файл, съдържащ по един MAC адрес на ред.

/wakeall изпраща WOL пакет до всички компютри, конфигурирани в WOL мениджъра и незабавно се затваря.

Но имайте предвид, че трябва да имате активирана опция във вашия BIOS, за да позволите на компютъра да получи магически пакет на своята NIC.

person bgmCoder    schedule 09.04.2015