Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations wOOdy-Soft on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

change local admin password 1

Status
Not open for further replies.

smithy1981

IS-IT--Management
Sep 16, 2005
12
GB
Is there a way of changing the local admin password using a vbscript. I have had a look but cant find anything apart from changing passwords in AD.

Thanks
 
Something like this.
[tt]
'your data
shost="a1b2c3"
susername="jsmith"
soldpwd="!1@2#3$4"
snewpwd="q5w6e7r8"

set ouser=getobject("WinNT://" & shost & "/" & susername & ",user")
ouser.changepassword soldpwd,snewpwd
set ouser=nothing
[/tt]
 
Here's the script I used to do mine. You need to edit the infile variable to reflect a textfile that you have with all the machine name's whose local admin password you want to change. (Keep in mind that it will skip the very first line in the file...) That should be the only modifications you should have to make...

Code:
'-------------------------------------------------------------------------------
'       Developer: Randy Barger (randy_barger@yahoo.com)
'   Last Modified: February 23, 2004
'     Description: This script will read in a list of computer account names
'                  from a file (created manually or by exporting a list from an
'                  OU/container using ADU&C).  Each computer name must be the
'                  first item on each line of the file; anything after the
'                  computer name will be ignored.  The script will attempt to
'                  change the local Administrator account password for each
'                  computer.  Note:  The first line of the input file is
'                  assumed to be a header line.
'-------------------------------------------------------------------------------

'-------------------------------------------------------------------------------
' Initialization - Declare variables
'-------------------------------------------------------------------------------

Dim fsoIn, fsoOut
Dim inFile, outFile
Dim arrComputerNames
Dim objUser
Dim strComputer
Dim newPassword
Dim ErrorOccurred
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
Const inFilename = "sometextfilewithmachinenames.txt"
Const outFilename = "ChangePwdServers.log"

'-------------------------------------------------------------------------------
' Main script
'-------------------------------------------------------------------------------
On Error Resume Next
ErrorOccurred = False

' Insert WARNING here...
Msgbox ("WARNING: This script will change the local administrator password for every " & _
	"computer listed in SERVERS.TXT.  If any services are running with the local " & _
	"administrator credentials, those services must be updated, or they won't " & _
	"start on the next boot.  For this script to work, you must have administrative " & _
	"privileges on all of the remote computers you are changing the password for.")

' Get new password
newPassword = Inputbox ("Please enter the new password.")

' Open the input file and skip the header line
Set fsoIn = CreateObject("scripting.filesystemobject")
Set inFile = fsoIn.OpenTextFile(inFilename, ForReading, True)
inFile.Skipline

' Open the log file (append mode) and timestamp the entry
Set fsoOut = CreateObject("scripting.filesystemobject")
Set outFile = fsoOut.OpenTextFile(outFilename, ForAppending, True)
outFile.writeline (Now & vbTab & "Starting script...")

While Not inFile.AtEndOfStream
	arrComputerNames = Split(inFile.Readline, vbTab, -1, 1)
	' arrComputerNames(0) contains the computer name
	strComputer = arrComputerNames(0)

	' Connect to the computer\administrator account
	Set objUser = GetObject("WinNT://" & strComputer & "/schantzr, user")
	If Err.Number <> 0 Then
		outFile.writeline Now & vbTab & "Error connecting to " & strComputer & " --- " & Err.Description
		Err.Clear
		ErrorOccurred = True
	Else
		' Set the password for the account
		objUser.SetPassword newPassword
		objUser.SetInfo
		If Err.Number <> 0 Then
			outFile.writeline Now & vbTab & "Error setting password for " & strComputer & _
				"\schantzr" & " --- " & Err.Description
			Err.Clear
			ErrorOccurred = True
		Else
			outFile.writeline (Now & vbTab & "Password set for " & strComputer & "\schantzr")
		End If
	End If
Wend

' Clean up the environment
outFile.writeline (Now & vbTab & "Ending script...")
inFile.close
outFile.close

If ErrorOccurred Then
	msgbox "Script completed with errors.  Please check the log file."
Else
	MsgBox "Script completed successfully."
End If
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top