nic power management changes after a reboot
Hi,
This really isn't a networking issue per se, so I'm trying misc. too.
We are running Windows 7 Enterprise, fully patched on Dell Optiplex 745, 755, 760, and 980 computers and I can duplicate this on all of them.
I go into Device Manager -> Network Card -> Power management. Check the boxes that we want. Close Device Manager. Reopen Device Manager to check that the change took. It did. Reboot. All Power Management settings
for the nic are now unchecked.
Normally we run a script to do this, but it doesn't matter whether you make the change via script or by hand, the Power Management settings always revert back to all three boxes unchecked after a reboot.
As long as the computer isn't rebooted or shut down, the setting sticks for at least several days, the longest time we've tested.
I found one thread that said this was a known issue, but the link to the answers.microsoft.com page came up 404.
Any ideas?
Here's the script, but like I said, it doesn't matter whether by script or by hand.
On Error Resume Next
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
arrComputers = Array(".")
For Each strComputer In arrComputers
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\WMI")
Set colItems = objWMIService.ExecQuery("SELECT * FROM MSPower_DeviceEnable", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)
Set colItems3 = objWMIService.ExecQuery("SELECT * FROM MSPower_DeviceWakeEnable", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)
Set objWMIservice2 = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set Colitems2 = objWMIService2.ExecQuery("Select * From Win32_NetworkAdapter")
For Each objItem in Colitems2
if objitem.adaptertypeID = 0 and objitem.netconnectionid <> "" and (objitem.adaptertypeID = 0 and ( instr(1,objitem.netconnectionid,"wireless",1) = 0)) and objitem.adaptertypeID = 0 and objitem.manufacturer
<> "Microsoft" then
For Each objItem2 In colItems
''wscript.echo LEN(objitem.PNPDeviceID)
''wscript.echo LEN(objItem2.InstanceName)
IF LEN(objitem.PNPDeviceID) <= LEN(objItem2.InstanceName) THEN
IF UCASE(objItem.PNPDeviceID) = LEFT(ucase(objItem2.InstanceName),LEN(objitem.PNPDeviceID)) THEN
'wscript.echo "Active: " & objItem2.Active
'wscript.echo "Enable: " & objItem2.Enable
'wscript.echo "InstanceName: " & objItem2.InstanceName
objitem2.enable = "0"
objitem2.Put_()
'wscript.echo
For Each objItem3 In colItems3
IF LEN(objitem.PNPDeviceID) <= LEN(objItem3.InstanceName) THEN
IF UCASE(objItem.PNPDeviceID) = LEFT(UCASE(objItem3.InstanceName),LEN(objitem.PNPDeviceID)) then
'wscript.echo "Active: " & objItem3.Active
'wscript.echo "Enable: " & objItem3.Enable
'wscript.echo "InstanceName: " & objItem3.InstanceName
objitem3.enable = "1"
objitem3.Put_()
END IF
END IF
Next
end if
end if
Next
end if
Next
Next
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
' Connect to Root\Cimv2 and Root\Wmi namespaces
Set objCimv2 = GetObject("winmgmts:root\cimv2")
Set objWmi = GetObject("winmgmts:root\wmi")
' Get all network adapters where IPEnabled is true
Set colAdapterConfigs = objCimv2.ExecQuery ("Select * From Win32_NetworkAdapterconfiguration Where IPEnabled = True")
For Each objAdapterConfig In colAdapterConfigs
Set colAdapters = objAdapterConfig.Associators_(, "Win32_NetworkAdapter")
For Each objAdapter In colAdapters
' Get the matching MSNdis_DeviceWakeOnMagicPacketOnly instance
Set colDeviceWakeOnMagicPacketOnly = objWmi.ExecQuery _
("Select * From MSNdis_DeviceWakeOnMagicPacketOnly " _
& "Where InstanceName Like '" _
& Replace(objAdapter.PNPDeviceId, "\", "\\") & "%'")
' Enable "Only allow management stations to bring the computer out of standby"
For Each objDeviceWakeOnMagicPacketOnly In colDeviceWakeOnMagicPacketOnly
objDeviceWakeOnMagicPacketOnly.EnableWakeOnMagicPacketOnly = False
objDeviceWakeOnMagicPacketOnly.Put_()
'wscript.echo "Enabled Magic Packet Only on " & objAdapter.Name
Next
Next
Next
Any ideas?
July 15th, 2010 2:15pm
Please update the BIOS and the network adapter driver to the latest version and see if the issue can be resolved. Also, access
Clean Boot to check the issue. If the issue disappears in the Clean Boot environment, you can continue to narrow down which entry is causing the issue.
Please remember to click Mark as Answer on the post that helps you, and to click Unmark as Answer if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
Free Windows Admin Tool Kit Click here and download it now
July 19th, 2010 8:46am
The problem occurs in multiple versions of the bios, including the most recent bios update from Dell. It also occurs using the Microsoft drivers, the Intel drivers that Dell shipped the 980s with, the latest drivers from Dell and the latest driver
from Intel. However, *if* we install all of the Intel management and monitoring software, which I don't want to do because that software then breaks wmi control of the card and because we don't want the computers to run all of the snmp management software,
although to get this to work we may have to.
July 19th, 2010 1:56pm
Hi jd142,
In addition with respected Linda Yan,
if Clean Boot does not work, I also would like to suggest you run
System File Checker .
Thanx
Regards
Syed Asad Bukhari
Free Windows Admin Tool Kit Click here and download it now
July 19th, 2010 2:01pm
Hmm. That link just brings up a blank page. But if I google for technet and 669bf1d3-3d60-4b12-941a-d0e43ac32d6c I get this page:
http://social.technet.microsoft.com/Forums/en/w7itprohardware/thread/669bf1d3-3d60-4b12-941a-d0e43ac32d6c
which just has en instead of en-US.
Unfortunately, after following through all of the links, the Power Options don't have a setting for the nic like they do for usb.
July 19th, 2010 2:05pm


