Wake on Lan (WoL) functionality is one the poorest documented features SCCM 2012 offers. Enabling WoL requires one checkbox (to enable it) and two radio buttons (to select the packet type and the protocol). Getting it to work though is rather challenging. Many people have written blogs to set up requirements (such as BIOS and OS settings and of course the network infrastructure) so these can be found at a lot of places on the internet. The biggest challenge is to determine which UDP port is used. The default value is 9 but very often this port is not used at all.
To facilitate and test WoL functionality, it is recommended to install the SCCM Right Click Tools which includes wol.exe. wol.exe can be used to wake up machines by sending wake up packets to destination computers. These packets should arrive when the destination computer is on.
If UDP port 9 is not used, then it becomes a guess to determine which UDP port is used instead. One great way of determining the right UDP port is using a packet sniffer tool such Microsoft Network Monitor or Wireshark. Filtering options can be used to discard all irrelevant traffic for display purposes.
At my current project, the administrators did a great job by setting up Wireshark which allowed them to detect that wol.exe was using UDP port 12287 instead of 9.
After challenging the WoL port in SCCM 2012 from 9 to 12287, they were able to successfully wake up machines to let them execute the required task. In this case a new operating system is deployed started from PXE. Wol.exe is no longer needed to wake up the machines at any time.