Scripting Question

Script to set Dell BIOS Admin Password using OMCI

12/21/2013 5266 views


I found this usefull script and I want to improve this including in the code the capacity to get the hostname.

Source: http://media.community.dell.com/en/dtc/attach/samplesetadminpassword.vbs.txt

'*** Name: SetPwd.vbs
'*** Purpose: To Set/Change the BIOS Admin password on a Dell OMCI client.
'*** Usage: cscript.exe //nologo SetPwd.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.
'*** NOTE: Replace <old_password> and <new_password> in line 45 and 44
'*** (inside the quotes) with the desired values.
Option Explicit

'*** Declare variables
Dim strNameSpace
Dim strComputerName
Dim strClassName
Dim objInstance
Dim strAttributeName(2)
Dim strAttributeValue(2)
Dim strAuthorizationToken
Dim returnValue
Dim objWMIService
Dim ColSystem
Dim oInParams
Dim Shell

'*** 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()
End If

'*** Initialize variables
strNameSpace = "root/dcim/sysman"
strComputerName = WScript.Arguments(0)
strClassName = "DCIM_BIOSService"
strAttributeName(0) = "AdminPwd"
strAttributeValue(0) = "P@ssw0rd"
strAuthorizationToken = ""
returnValue = 0

'*** Retrieve the instance of DCIM_BIOSService class
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate," &_
"AuthenticationLevel=pktprivacy}\\" & strComputerName & "\" &_
Set ColSystem=objWMIService.execquery ("Select * from " & strClassName)
For each objInstance in ColSystem
Set oInParams= objInstance.Methods_("SetBIOSAttributes").InParameters.SpawnInstance_
oInParams.AttributeName = strAttributeName
oInParams.AttributeValue = strAttributeValue
oInParams.AuthorizationToken = strAuthorizationToken
Set returnValue = objInstance.ExecMethod_("SetBIOSAttributes", oInParams)

'*** If any errors occurred, let the user know
If Err.Number <> 0 Then
WScript.Echo "Change admin password 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 SetPwd.vbs <systemname>"
WScript.Echo strMessage

End Sub

' End

1 Comment   [ + ] Show comment


  • It is not clear what you are trying to do with the hostname in the script. Can you provide some additional information? The hostname can be retrieved from the remote system through a WMI call to Win32_ComputerSystem, but we need to know what you are trying to do with it in order to provide the appropriate feedback.

Be the first to answer this question

This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ