Dunkel objConnection, objCommand, objRootDSE
Dunkel strDNSDomain, strFilter, strQuery, objRecordSet, strDN
Dunkel strOUpath, objNewOU, objUser
Dunkel intFlag
Const ADS_UF_ACCOUNTDISABLE = &H02
'Använd ADO för att söka området för alla användare.
Fastställd objConnection = CreateObject (”ADODB.Connection”)
Fastställd objCommand = CreateObject (”ADODB.Command”)
objConnection.Provider = ”ADsDSOOBject”,
objConnection.Open ”aktivarkivfamiljeförsörjare”,
Uppsättning objCommand.ActiveConnection = objConnection
'Bestäm DNS-området från RootDSEen anmärker.
Fastställd objRootDSE = GetObject (”LDAP: //RootDSE”)
strDNSDomain = objRootDSE.Get (”DefaultNamingContext”)
'strDNSDomain = ”DC=MWZ-FM, DC=COM”,
strFilter = ”(& (objectCategory=person) (objectClass=user))”,
'Varje stränger måste ha ett skugga komma
arrOUs = samling (_,
”OU=11-USERS,”, _,
”OU=12--EXCHANGEANVÄNDARE MIGRIERT,” _,
)
För varje strOU i arrOUs
strQuery = ”; ” & strFilter & ”; distinguishedName userAccountControl; subtree”,
objCommand.CommandText = strQuery
objCommand.Properties (”sida storleksanpassar”), = 100
objCommand.Properties (”frånslagningstid”) = 30
objCommand.Properties (”cachen resulterar”), = falskt
'Enumerate alla användare. Kontrollera om kontohandikappade personer.
Fastställd objRecordSet = objCommand.Execute
Gör till objRecordSet.EOF
strDN = objRecordSet.Fields (”distinguishedName”)
intFlag = objRecordSet.Fields (”userAccountControl”)
Om (intFlag och ADS_UF_ACCOUNTDISABLE) <> 0 därefter
Fastställd objUser = GetObject (”LDAP: /” & strDN)
Fastställd objNewOU = GetObject (”LDAP: //OU=03-DISABLED-USERS, OU=93-DISABLED-OBJECTS,” & strDNSDomain)
objNewOU.MoveHere objUser.ADsPath som vbNullString
Avsluta om
objRecordSet.MoveNext
Kretsa
Därefter
'Rent övre
objConnection.Close
”Gjorda” Wscript.Echo,
Wscript.quit
|