objConnection fioco, objCommand, objRootDSE
strDNSDomain fioco, strFilter, strQuery, objRecordSet, strDN
strOUpath fioco, objNewOU, objUser
intFlag fioco
Const ADS_UF_ACCOUNTDISABLE = &H02
'Usare la DIFFICOLTÀ per cercare il dominio tutti gli utenti.
Regolare il objConnection = CreateObject (“ADODB.Connection„)
Regolare il objCommand = CreateObject (“ADODB.Command„)
objConnection.Provider = “ADsDSOOBject„
objConnection.Open “fornitore attivo dell'indice„
Regolar objCommand.ActiveConnection = objConnection
'Determinare il dominio di DNS dall'oggetto di RootDSE.
Regolare il objRootDSE = GetObject (“LDAP: //RootDSE„)
strDNSDomain = objRootDSE.Get (“DefaultNamingContext„)
'strDNSDomain = “DC=MWZ-FM, DC=COM„
strFilter = “(& (objectCategory=person) (objectClass=user))„
'Ogni stringa deve avere un virgola di trascinamento
arrOUs = allineamento (_
“OU=11-USERS,„, _
“UTENTE MIGRIERT DI OU=12-EXCHANGE,„ _
)
Per ogni strOU nei arrOUs
strQuery = “; „ & strFilter & “; distinguishedName, userAccountControl; sotto-albero„
objCommand.CommandText = strQuery
objCommand.Properties (“formato di pagina„) = 100
objCommand.Properties (“prespegnimento„) = 30
objCommand.Properties (“il nascondiglio risulta„) = falso
'Enumerare tutti gli utenti. Controllare se il cliente rendesse invalido.
Regolare il objRecordSet = objCommand.Execute
Fare fino a objRecordSet.EOF
strDN = objRecordSet.Fields (“distinguishedName„)
intFlag = objRecordSet.Fields (“userAccountControl„)
Se (intFlag e ADS_UF_ACCOUNTDISABLE) <> 0 allora
Regolare il objUser = GetObject (“LDAP: /„ & strDN)
Regolare il objNewOU = GetObject (“LDAP: //OU=03-DISABLED-USERS, OU=93-DISABLED-OBJECTS,„ & strDNSDomain)
objNewOU.MoveHere objUser.ADsPath, vbNullString
Concluder se
objRecordSet.MoveNext
Ciclo
Dopo
'Pulire
objConnection.Close
Wscript.Echo “fatti„
Wscript.quit
|