Sample script that search Active Directory for all inetOrgPerson accounts modified on October 1, 2007 or later. The whenChanged attribute is replicated to the Global Catalog. This means you can connect to a Global Catalog server and search across the forest for all inetOrgPerson accounts last modified on a specified date.
On Error Resume Next Const ADS_SCOPE_SUBTREE = 2 dtmChangedDate = "20071001000000.0Z" Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCommand.ActiveConnection = objConnection objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE objCommand.CommandText = _ "SELECT Name FROM 'LDAP://dc=fabrikam,dc=com' WHERE objectClass='inetOrgPerson' " & _ "AND whenChanged>='" & dtmChangedDate & "'" Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst Do Until objRecordSet.EOF Wscript.Echo objRecordSet.Fields("Name").Value objRecordSet.MoveNext Loop
On Error Resume Next Const ADS_SCOPE_SUBTREE = 2 dtmChangedDate = "20071001000000.0Z" Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCommand.ActiveConnection = objConnection objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE objCommand.CommandText = _ "SELECT Name FROM 'LDAP://dc=fabrikam,dc=com' WHERE objectClass='inetOrgPerson' " & _ "AND whenChanged>='" & dtmChangedDate & "'" Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst Do Until objRecordSet.EOF Wscript.Echo objRecordSet.Fields("Name").Value objRecordSet.MoveNext Loop