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


'*** 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.
Please log in to comment

There are no answers at this time


Answer this question or Comment on this question for clarity
Admin Script Editor
Admin Script Editor is an integrated scripting environment available free here at ITNinja