18 
  Case 5 strReturn = "Invalid Parameter" 
  Case 6 strReturn = "Access Denied" 
  Case Else strReturn = "..." 
End Select 
WScript.Echo "SetBiosSetting() returned: (" & oReturn _ 
      & ") " & strReturn 
 
 
Changing the Boot Order 
Here is a sample script to change the boot order. The value field may need some modification. Note 
that “1E302E020304” is the keyboard scan code for the keys “abc123”. 
 
Const wbemFlagReturnImmediately = 16 
Const wbemFlagForwardOnly = 32 
lFlags = wbemFlagReturnImmediately + wbemFlagForwardOnly 
 
strService = "winmgmts:{impersonationlevel=impersonate}//" 
strComputer = "." 
strNamespace = "/root/HP/InstrumentedBIOS" 
strQuery = "select * from HP_BIOSSettingInterface" 
 
Set objWMIService = GetObject(strService & _ 
                      strComputer & strNamespace) 
Set colItems = objWMIService.ExecQuery(strQuery,,lFlags) 
 
For each objItem in colItems 
    objItem.SetBiosSetting oReturn, _ 
      "Boot Order", _ 
      "Diskette,Hard Drive,Network Controller,Multibay", _ 
      "<kbd/>1E302E020304" 
Next 
 
Dim strReturn 
Select Case oReturn 
  Case 0 strReturn = "Success" 
  Case 1 strReturn = "Not Supported" 
  Case 2 strReturn = "Unspecified Error" 
  Case 3 strReturn = "Timeout" 
  Case 4 strReturn = "Failed" 
  Case 5 strReturn = "Invalid Parameter" 
  Case 6 strReturn = "Access Denied" 
  Case Else strReturn = "..." 
End Select 
WScript.Echo "SetBiosSetting() returned: (" & oReturn _ 
      & ") " & strReturn 
 
 
Enabling Hyper-Threading 
Here is a sample script to change the hyper-threading setting. The value field may need some 
modification. Note that “E302E020304” is the keyboard scan code for the keys “abc123”. 
 
Const wbemFlagReturnImmediately = 16 
Const wbemFlagForwardOnly = 32 
lFlags = wbemFlagReturnImmediately + wbemFlagForwardOnly 
 
strService = "winmgmts:{impersonationlevel=impersonate}//"