objConnection dévil, objCommand, objRootDSE
strDNSDomain dévil, strFilter, strQuery, objRecordSet, strDN
strOUpath dévil, objNewOU, objUser
intFlag dévil
Const ADS_UF_ACCOUNTDISABLE = &H02
'Utilizar la DIFICULTAD para buscar el dominio para todos los usuarios.
Fijar el objConnection = CreateObject (“ADODB.Connection”)
Fijar el objCommand = CreateObject (“ADODB.Command”)
objConnection.Provider = “ADsDSOOBject”
objConnection.Open “abastecedor activo del directorio”
Fijar objCommand.ActiveConnection = objConnection
'Determinar el dominio del DNS del objeto de RootDSE.
Fijar el objRootDSE = GetObject (“LDAP: //RootDSE”)
strDNSDomain = objRootDSE.Get (“DefaultNamingContext”)
'strDNSDomain = “DC=MWZ-FM, DC=COM”
strFilter = “(y (objectCategory=person) (objectClass=user))”
'Cada secuencia debe tener una coma que se arrastra
arrOUs = arsenal (_
“OU=11-USERS,”, _
“USUARIO MIGRIERT DE OU=12-EXCHANGE,” _
)
Para cada strOU en arrOUs
strQuery = “; ” y strFilter y “; distinguishedName, userAccountControl; sub-estructura”
objCommand.CommandText = strQuery
objCommand.Properties (“tamaño de página”) = 100
objCommand.Properties (“descanso”) = 30
objCommand.Properties (el “escondrijo resulta”) = falso
'Enumerar a todos los usuarios. Comprobar si la cuenta inhabilitó.
Fijar el objRecordSet = objCommand.Execute
Hacer hasta objRecordSet.EOF
strDN = objRecordSet.Fields (“distinguishedName”)
intFlag = objRecordSet.Fields (“userAccountControl”)
Si (intFlag y ADS_UF_ACCOUNTDISABLE) <> 0 entonces
Fijar el objUser = GetObject (“LDAP: /” y strDN)
Fijar el objNewOU = GetObject (“LDAP: //OU=03-DISABLED-USERS, OU=93-DISABLED-OBJECTS,” y strDNSDomain)
objNewOU.MoveHere objUser.ADsPath, vbNullString
Terminar si
objRecordSet.MoveNext
Lazo
Después
'Limpiar
objConnection.Close
Wscript.Echo “hechos”
Wscript.quit
|