Below is
a sample VBScript to get the current list of BIOS Settings on a client
system.
'**********************************************************************
'*** Name: SampleGetBBIOSSettings.vbs
'*** Purpose: To get
the current list of BIOS Settings on a Dell OMCI 8.0 client.
'*** Usage: cscript.exe /nologo SampleGetBBIOSSettings.vbs <systemname>
'*** This sample script is provided as an example only, and has
not been
'*** tested, nor is warranted in any way by Dell;
Dell disclaims any
'*** liability in connection therewith.
Dell provides no technical
'*** support with regard to such
scripting. For more information on WMI
'*** scripting, refer
to applicable Microsoft documentation.
'**********************************************************************
'*** Declare variables
Dim objWMIService
Dim strComputerName
Dim strNameSpace
Dim strClassName
Dim ColSystem
Dim fso
Dim txtfile
Dim outString
Dim iTKVal
Dim ArrayItem
Dim objInstance
Dim strSpecialTK1
Dim strSpecialTK2
'*** Check that the right executable was used to run the script
'*** and that all parameters were passed
If (LCase(Right(WScript.FullName, 11)) = "wscript.exe" ) Or _
(Wscript.Arguments.Count < 1) Then
Call Usage()
WScript.Quit
End If
'*** Initialize variables
Set fso = CreateObject("Scripting.FileSystemObject")
strComputerName = WScript.Arguments(0)
outString = ""
strNameSpace = "root/dcim/sysman"
strClassName = "DCIM_BIOSEnumeration"
strSpecialTK1 = "Auto On Hour"
strSpecialTK2 = "Auto On Minute"
iTKVal = -1
ArrayItem = 0
'*** Establish a connection to the dcim\sysman namespace
'*** Retrieve the instance of DCIM_BIOSEnumeration class
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate," &_
AuthenticationLevel=pktprivacy}\\" & strComputerName & "\" &_
strNameSpace)
'*** Set up the output file
set txtfile = fso.Createtextfile("BIOS_Output.csv", true)
Set ColSystem=objWMIService.execquery ("Select * from " & strClassName)
outString = ""
For each objInstance in ColSystem
'*** Check every instance
iTKVal = objInstance.Properties_.Item("CurrentValue").Value(0)
'*** Auto On Hour and Auto On Minutes don't have PossibleValues
and PossibleValuesDescription properties
if (objInstance.AttributeName <> strSpecialTK1) and (objInstance.AttributeName <> strSpecialTK2) Then
For Each element in objInstance.Properties_.Item("PossibleValues").Value
if (objInstance.Properties_.Item("PossibleValues").Value(ArrayItem) = iTKVal) Then
outString = outString & objInstance.AttributeName & ", " & (objInstance.Properties_.Item
("PossibleValuesDescription").Value(ArrayItem)) & VbCrLf
end if
ArrayItem = ArrayItem + 1
Next
else
'*** Auto
On Hour and Auto On Minutes token copy the current value directly
outString = outString & objInstance.AttributeName & ", " &iTKVal & VbCrLf
end if
ArrayItem = 0
Next
txtfile.WriteLine outString
'*** Close the file
txtfile.close
'*** If any errors occurred, let the user know
If Err.Number <> 0 Then
WScript.Echo "Enabling Trusted Platform Module failed."
End If
'*** Sub used
to display the correct usage of the script
Sub Usage()
Dim strMessage
strMessage = "incorrect syntax. You should run: " & vbCRLF & _
"cscript.exe /nologo SampleGetBIOSSettings.vbs <systemname>"
WScript.Echo strMessage
WScript.Echo strMessage
End Sub
'==========================================================================
' End
'==========================================================================