'____________________________________________________________________________________________[ header ]__ ' Cerro Scripts: ResetAdmPass.vbs ' ' Copyright (c) 2005 Philipp Föckeler (www.cerrotorre.de) ' ' Sets the local admin password of all active domain members which computer accounts ' are stored in the ADS directory under a given base distinguished name. ' This is done recursiv for all computer objects in containers below the given base. ' ' Usage: cscript ResetAdmPass.vbs ' BaseDN: Distinguished Name of an OU or Domain, ' where the computers are which admin passwords is to be set. ' Pass: New Password ' '______________________________________________________________________________________[ command line ]__ If Wscript.Arguments.Count <> 2 Then Wscript.Echo "Usage: ResetAdmPass " & vbcrlf WScript.Echo " Distinguished Name of an OU or Domain," Wscript.Echo " where the computers are which admin passwords is to be set" Wscript.Echo " New Password" WScript.Quit End If '________________________________________________________________________________________[ ado search ]__ base = Wscript.Arguments(0) pass = Wscript.Arguments(1)s Set sho = CreateObject("WScript.Shell") server = Replace(sho.ExpandEnvironmentStrings("%LOGONSERVER%"), "\", "") Set ado = CreateObject("ADODB.Connection") ado.Provider = "ADSDSOObject" ado.Open "ADS-Search" ' dies ist ein willkürlich gewählter Name filterStr = "(objectclass=computer)" ' gesucht werden alle Rechner-Objekte Set computerList= ado.Execute(";" & filterStr & ";name;subtree") '____________________________________________________________________________________[ password reset ]__ On Error Resume Next ' Laufzeitfehler unterdrücken While Not computerList.EOF ' für alle gefunden Objekte.... computer = computerList.Fields(0).Value ' ...Namen lesen Err.Clear ' ...mit Admin-Account verbinden Set admin = GetObject("WinNT://" & computer & "/Administrator") if (Err.Number=0) then admin.SetPassword(pass) ' ...Passwort setzen Err.Clear admin.SetInfo If (Err.Number=0) Then ' ...Info ausgabe WScript.Echo computer & ": password changed successfully" Else WScript.Echo computer & ": ERROR" End If End If computerList.MoveNext ' nächster Rechner WEnd