Because the AD schema has a networkAddress attribute on computer objects, which is not populated by the normal Windows clients. So if you have AD write permission, you can scavenge the various MAC addresses from machines that are on at different times (basically, when you run your program), and write them into Active Directory from there.
Then, when you need to turn one of them on, all you need is Active Directory read permission, to get at the networkAddress attribute on the appropriate computer object.
We do this at work, actually, even though most of the machines don't have their BIOSes configured to allow WoL. But as we get them in to work on them (and as we set up new machines), we try to remember to turn that setting on. |