Wake on Lan Scripting Com Object is easy to use, simply register as you would any other dll i.e. Syntax:
regsvr32 {path}\Wolcom.dll
    Using wol with VBS (visual basic script)
The following code snippet runs the com service on a remote machine called DELPHI. Please note that both machines must have the com dll registered.
      set WakeOnLan = createobject("WolCom.Wol","DELPHI")
        WakeOnLan.TheMacAddress("A080641104AA")
        WakeOnLan.TheIpNumber("10.43.43.102")
        WakeOnLan.TheSubnetMask("255.255.255.0")
        WakeOnLan.ThePortNumber("8900")
        WakeOnLan.WakeMeUp
    
Using wol with Php (On a Windows Server of course)
      <?PHP
        
        $WakeObj = new COM("WolCom.Wol");
        
        $WakeObj->TheMacAddress('0080641104AA');
        $WakeObj->TheIpNumber('10.43.43.102');
        $WakeObj->TheSubnetMask('255.255.255.0');
        $WakeObj->ThePortNumber('8900');
        $WakeObj->WakeMeUp();
        
        $WakeObj->Release();
        $WakeObj =
        null;
        
        ?>
    
Price - Wake On Lan Scripting Com Object is free.