RP for getting the status of W-o-L BIOS settings

(imported topic written by SystemAdmin)

Hey people, how goes it? Good I hope.

Anyway, I am looking to add a retrieved property that would return the status and, hopefully the capability of Wake on LAN BIOS settings.

I found a class called MSPower_DeviceWakeEnable under root\WMI namespace to retrieve settings per Instance of a wake capable device, both Enable and Active settings get returned (see below for example of return). the problem is parsing out the non- network card devices like the last 3 of the example; I would only need the first entry and its results because that is the network card.

Is there any decent way to put these results into a RP where we could get true numbers on the machines we need to modify these settings for?

Any help is appreciated, as always.

Paul

example:

==========================================

Computer: localhost

==========================================

Active: True

Enable: False

InstanceName: PCI\VEN_8086&DEV_1026&SUBSYS_01691028&REV_04\5&bec93c7&0

Active: True

Enable: True

InstanceName: HID\Vid_10d5&Pid_5532&MI_00\8&d2ba793&0&0000_0

Active: True

Enable: True

InstanceName: HID\Vid_10d5&Pid_5532&MI_01&Col01\8&3596555c&0&0000_0

Active: True

Enable: False

InstanceName: HID\Vid_10d5&Pid_5532&MI_01&Col02\8&3596555c&0&0001_0

Active: True

Enable: False

InstanceName: HID\Vid_10d5&Pid_5532&MI_01&Col03\8&3596555c&0&0002_0

(imported comment written by brolly3391)

Welcome Paul,

The short answer is no, there is no decent way to do that. However there may be an indecent way.

Check out these statements:

Looking over the WMI class you provided just to see what it looks like. We will not be using this relevance in our final product.

q: (concatenation “|” of (property “InstanceName” of it as string;property “Enable” of it as string)) of select objects “Enable,InstanceName from MSPower_DeviceWakeEnable” of WMI “root\WMI”

A: InstanceName=PCI\VEN_8086&DEV_266D&SUBSYS_542314F1&REV_03\3&61aaa01&0&F3_0|Enable=True

A: InstanceName=PCI\VEN_14E4&DEV_1677&SUBSYS_01821028&REV_01\4&2959cbdc&0&00E0_0|Enable=False

T: 10.474 ms

I noticed that my laptop showed that my NICs do not have WOL Enabled but my modem does? Might need more research on what that WMI class really does.

But we are steaming onward toward your answer. Lets filter our WMI results by Enable=True and then extract just the device ID portion of the return values.

q: substrings between “” of ((property “InstanceName” of it as string) of select objects “Enable,InstanceName from MSPower_DeviceWakeEnable” whose (property “Enable” of it as string contains “True”) of WMI “root\WMI”)

A: VEN_8086&DEV_266D&SUBSYS_542314F1&REV_03

T: 10.297 ms

Now lets look up that (those) device string(s) in the registry to see if one of them has class “Net” (formatting for ease of understanding):

q: exists keys

(substrings between “” of ((property “InstanceName” of it as string) of select objects “Enable,InstanceName from MSPower_DeviceWakeEnable” whose (property “Enable” of it as string contains “True”) of WMI “root\WMI”))

whose

(exists keys whose ( value “Class” of it as string = “Net”) of it)

of keys of key “HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum” of registry

A: False

T: 348.466 ms

Or you could turn it around and find the names of NICs that have WOL off

q: values “DeviceDesc” of keys of keys

(substrings between “” of ((property “InstanceName” of it as string) of select objects “Enable,InstanceName from MSPower_DeviceWakeEnable” whose (property “Enable” of it as string contains “False”) of WMI “root\WMI”))

whose

(exists keys whose ( value “Class” of it as string = “Net”) of it)

of keys of key “HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum” of registry

A: Broadcom NetXtreme 57xx Gigabit Controller

T: 343.741 ms

That is the raw idea. The relevance needs some more existence tests to avoid errors if the machine does not have any of the items we are querying for.

Finally the WMI warning: Notice that the final query takes 1/3 of a second? This is not uncommon with WMI queeries. The BES client only uses 2% of the total processor so roughly 1/3 second X 50 = 17 seconds. That is an eternity. If you were to use something like this you would want to have it report daily or less frequently.

Cheers,

Brolly

(imported comment written by BenKus)

Hey Paul,

This is good stuff, but unfortunately I think this setting isn’t quite what you want. This setting controls the OS portion of wake-on-lan IF the computer is in Standby mode, but it is independent of if the computer is powered-off completely.

The setting is available in the “Configuration” options of the network adapter properties. Looks like this:

http://support.bigfix.com/download/temp/wol-os.jpg

We actually have an inspector for this setting:

q: wakeonlan enableds of adapters of network

a: false

So if your computer is always in standby mode (and not powered off), then the OS manages this setting, it is inspectable by BigFix, and everyone is happy… but if the computer is powered off, then the WoL is controlled by the NIC card + BIOS and those are manufacturing specific settings.

Ben

(imported comment written by Doug_Coburn)

For Wake-On-Lan from a power off state I’ve found that different NICs and different brands (some times diferent NICs made by the same brand) write out their settings for the Wake-On-Lan to different values in the registry. As of yet I have not found a standard that will cover every type of network card. Also on older computers the Wake-On-Lan from poweroff feature was not a Windows enabled choice at all. To enable the feature on the older computers you had to attach a cable from a WOL NIC to a motherboard that supported the feature. The next variant was it had to be a choice that was enabled in the BIOS and still generally had no access through Windows. In the last couple years is when most if not all of the manufactures in my experience have switched over to enabling the WOL through Windows.

Doug

(imported comment written by mynameisbear91)

Is there any chance we could get some concise information about Wake-On-LAN posted? I’ve never even encountered WOL in the real world, and I’m quite interested to see the power savings from using scheduled shutdowns and WOL but honestly I’m n

If BigFix could help out here with maybe a couple pages of “BigFix’s guide to WoL technology” with a focus on how to do the available tasks with it using BigFix, that would be pretty swell indeed.

Alternately, if someone familiar enough with it to separate the wheat from the chaff could post a link to a good vendor-neutral guide to WoL, that would be pretty swell too.

(imported comment written by BenKus)

Hi cgolightly,

The wake-on-lan functionality in BigFix is part of our “BigFix Power Management” Fixlet site, which has an overall goal of saving power while allowing IT operations to continue to function normally… see here for more info:

http://forum.bigfix.com/viewtopic.php?id=1487

By the way, I think that putting computers in standby mode is a better approach than powering off computers because you avoid all sorts of issues with saving work with users, making users wait to start up in the morning, etc.

Ben

(imported comment written by Shembop91)

I am actually trying to figure out what actually gets set in the registry when that little button gets checked in the window shown above. Does anyone know what registry key gets set? We are trying to figure out a way to know, as all attempts, (even the ones mentioned in this forum, have not yielded an answer.

(imported comment written by BenKus)

Hey Shembop,

What are you looking to accomplish?

The power management Fixlet site will take care of this for you…

Ben

(imported comment written by SystemAdmin)

Ben - I think we are looking for the same info as Shembop. We’d like to see the status of the “Allow this device to bring the computer out of standyby” and be able to change that setting. The issue for us is with WWoL. Regular WOL works fine and the setting is accessible, but for WWol, the setting is greyed out, even though the hardware and drivers support it. So far we’ve only looked at Win7 systems, but I guess XP has the same issue. Are you saying BigFix Power Management site can set this setting?

Edit: Found another thread on this (http://forum.bigfix.com/viewtopic.php?id=2707). Seems we have the fixlet, but it only targets XP, not Win7. Will the fixlet be updated to support Win7?

(imported comment written by MattBoyd)

I was wondering this as well, and was hoping it would be updated in the new version of power management. Anyway, we needed a task to do this several months ago so I made one. As a bonus, mine shouldn’t require a reboot :slight_smile:

Note: I didn’t test this on WinXP.

(imported comment written by SystemAdmin)

A huge thanks boyd! While we await some official support, we will put your task to good use. Thanks again!

(imported comment written by rmnetops91)

Not sure if this applies, but I also was looking at how to pull the WoL setting for machines, until we decided instead just to force enable it in the BIOS on all machines using a BigFix task (applies only to HP or Dell desktops/laptops):

http://forum.bigfix.com/viewtopic.php?pid=24697#p24697