Const ADS_SCOPE_SUBTREE=2

 
Set objRootDSE = GetObject("LDAP://rootDSE")
 
 strDomain = ObjRootDSE.Get("defaultNamingContext")
 
Set objConnection = CreateObject("ADODB.Connection")
 
Set objCommand =   CreateObject("ADODB.Command")
 
 objConnection.Provider = "ADsDSOObject"
   
 objConnection.Open "Active Directory Provider" 
   
Set objCommand.ActiveConnection = objConnection
 
 objCommand.Properties("Page Size") = 200
   
 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
   
 objCommand.CommandText = "SELECT adspath,name FROM 'LDAP://" & strDomain & "' WHERE objectClass='OrganizationalUnit' "
 
Set objRec = objCommand.Execute
 
    FOR i = 1 to objRec.RecordCount
    
    If objRec.Fields("name").Value <> "Domain Controllers" Then 
    
      UserPATH = objRec.Fields("adsPath").Value
      
'  wscript.echo objRec.Fields("name").Value
  
  strSql = "SELECT adspath FROM '" & objRec.Fields("adsPath").Value & "' WHERE objectClass='user'"
  
  objCommand.CommandText = strSql
  
  Set objRecUsers = objCommand.Execute
  
  Do Until objRecUsers.EOF
   
   On Error Resume Next 
   
'   WScript.Echo "用户: " & objRecUsers.Fields("adsPath")
   
   Set objUser = GetObject(objRecUsers.Fields("adsPath"))
   
    objUser.SetPassword "cj2011"
   
    objUser.setinfo
   
   objRecUsers.MoveNext
   
  Loop 
   
 End If
 
     objRec.MoveNext
     
    Next
    
WScript.Echo "批量修改用户密码完成!"