1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 6: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46:
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