Schwaches objConnection, objCommand, objRootDSE
Schwaches strDNSDomain, strFilter, strQuery, objRecordSet, strDN
Schwaches strOUpath, objNewOU, objUser
Schwaches intFlag
Const ADS_UF_ACCOUNTDISABLE = &H02
'AUFHEBEN verwenden, um das Gebiet nach allen Benutzern zu suchen.
objConnection = CreateObject („ADODB.Connection“) einstellen
objCommand = CreateObject („ADODB.Command“) einstellen
objConnection.Provider = „ADsDSOOBject“
objConnection.Open „aktiver Verzeichnis-Versorger“
Einstellen objCommand.ActiveConnection = objConnection
'Das DNS-Gebiet vom RootDSE Gegenstand feststellen.
objRootDSE = GetObject einstellen („LDAP: //RootDSE“)
strDNSDomain = objRootDSE.Get („DefaultNamingContext“)
'strDNSDomain = „DC=MWZ-FM, DC=COM“
strFilter = „(u. (objectCategory=person) (objectClass=user))“
'Jede Schnur muss ein schleppendes Komma haben
arrOUs = Reihe (_
„OU=11-USERS,“, _
„OU=12-EXCHANGE BENUTZER MIGRIERT,“ _
)
Für jedes strOU in den arrOUs
strQuery = „; “ u. strFilter u. „; distinguishedName, userAccountControl; Unterbaum“
objCommand.CommandText = strQuery
objCommand.Properties („Seiten-Größe“) = 100
objCommand.Properties („Abschaltung“) = 30
objCommand.Properties („Pufferspeicher resultiert“), = falsch
'Alle Benutzer aufzählen. Überprüfen, ob Konto sperrte.
objRecordSet = objCommand.Execute einstellen
Bis objRecordSet.EOF tun
strDN = objRecordSet.Fields („distinguishedName“)
intFlag = objRecordSet.Fields („userAccountControl“)
Wenn (intFlag und ADS_UF_ACCOUNTDISABLE) <> 0 dann
objUser = GetObject einstellen („LDAP: /“ u. strDN)
objNewOU = GetObject einstellen („LDAP: //OU=03-DISABLED-USERS, OU=93-DISABLED-OBJECTS,“ u. strDNSDomain)
objNewOU.MoveHere objUser.ADsPath, vbNullString
Beenden wenn
objRecordSet.MoveNext
Schleife
Zunächst
'Aufräumen
objConnection.Close
Wscript.Echo „getan“
Wscript.quit
|