Re: How could i change all the local administrator password of my XP/2000 computers ??



Me wrote:

Hello,
How could i change all the local administrator password of my
XP/2000 computers ??
I have 200 computers with a local password that everybody know
and i would like to change it ...
How to automaticly do it ??
Hi,

If this are computers in an Active Directory domain:

You could do it in a computer startup script (with a GPO) that runs
as part of the boot up process (before the user logs in). It runs
under the system context and has admin rights.

To avoid users being able to read the script where the password is
stored, grant read access only for the AD group "Domain Computers"
to the script file.


As long as the Administrator account name is "Administrator", this batch file will set the password on the account:

'--------------------8<----------------------
@echo off
net.exe user administrator newpassword
'--------------------8<----------------------


As long as the Administrator account name is "Administrator", this VBScript will set the password on the account:

'--------------------8<----------------------
sNewPassword = "testpassword"
Set oWshNet = CreateObject("WScript.Network")
sComputer = oWshNet.ComputerName

On Error Resume Next
Set oUser = GetObject("WinNT://" & sComputer & "/Administrator,user")
oUser.SetPassword sNewPassword
oUser.SetInfo
On Error Goto 0
'--------------------8<----------------------


If there is a chance that the name of the administrator is not "Administrator" (e.g. the account is renamed, or you have some non-English OS versions), you should use this version instead:

'--------------------8<----------------------
sNewPassword = "testpassword"

Set oWshNet = CreateObject("WScript.Network")
sComputer = oWshNet.ComputerName
sAdminName = GetAdministratorName

On Error Resume Next
Set oUser = GetObject("WinNT://" & sComputer & "/" & sAdminName & ",user")
oUser.SetPassword sNewPassword
oUser.SetInfo
On Error Goto 0


Function GetAdministratorName()

  Dim sUserSID, oWshNetwork, oUserAccount

  Set oWshNetwork = CreateObject("WScript.Network")
  Set oUserAccounts = GetObject( _
       "winmgmts://" & oWshNetwork.ComputerName & "/root/cimv2") _
       .ExecQuery("Select Name, SID from Win32_UserAccount" _
     & " WHERE Domain = '" & oWshNetwork.ComputerName & "'")

  On Error Resume Next
  For Each oUserAccount In oUserAccounts
    If Left(oUserAccount.SID, 9) = "S-1-5-21-" And _
       Right(oUserAccount.SID, 4) = "-500" Then
      GetAdministratorName = oUserAccount.Name
      Exit For
    End if
  Next
End Function
'--------------------8<----------------------



--
torgeir, Microsoft MVP Scripting and WMI, Porsgrunn Norway
Administration scripting examples and an ONLINE version of
the 1328 page Scripting Guide:
http://www.microsoft.com/technet/scriptcenter/default.mspx
.