SQLConnString = "DRIVER=SQL Server;SERVER=calisqltest01.CALITEST.local;DATABASE=AD_DB;Trusted_Connection=Yes" Set SQLConnection = CreateObject("ADODB.Connection") Set SQLRecordset = CreateObject("ADODB.Recordset") SQLConnection.Open SQLConnString 'Truncate the Table Set sqlCommand = CreateObject("ADODB.Command") sqlCommand.ActiveConnection = SQLConnection sqlCommand.CommandType = 1 ' adCmdText sqlCommand.CommandText = "Truncate Table [AD_DB].[dbo].[AD_USER_REPORT]" sqlCommand.Execute , , 128 ' no records returned ' ' Open The SQLServer Table as a recordset adostrSQL = "SELECT * FROM AD_DB.dbo.AD_USER_REPORT" Set SQLRecordset = CreateObject("ADODB.Recordset") Set SQLRecordset.ActiveConnection = SQLConnection SQLRecordset.Open adostrSQL, SQLConnection, 1, 4 ' ' Get the Active Directory Records Set objRootDSE = GetObject("LDAP://RootDSE") strDistinguishedNamme = objRootDSE.Get("defaultNamingContext") strBase = "" strFilter = "(&(objectCategory=person)(objectClass=user)(company=*))" strAttributes = "sAMAccountName,DisplayName,sn,GivenName,mail,StreetAddress,l,TelephoneNumber,cn,distinguishedName," _ & "OtherTelephone,Company,Department,extensionAttribute1,extensionAttribute2,extensionAttribute3," _ & "extensionAttribute4,extensionAttribute5,extensionAttribute6,extensionAttribute7,extensionAttribute8," _ & "extensionAttribute9,extensionAttribute10,co,userAccountControl,l,co,st,postalCode," _ & "createTimeStamp,WhenChanged,description, name, manager" strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree" Set adoConnection = CreateObject("ADODB.Connection") adoConnection.Provider = "ADsDSOObject" adoConnection.Open "Active Directory Provider" Set adoRecordset = adoConnection.Execute(srQuery) On Error Resume Next Do Until adoRecordset.EOF SQLRecordset.AddNew SQLRecordset.Fields("name") = adoRecordset.Fields("name") SQLRecordset.Fields("userAccountControl") = adoRecordset.Fields("userAccountControl") SQLRecordset.Fields("DN") = adoRecordset.Fields("distinguishedName") SQLRecordset.Fields("sAMAccountName") = adoRecordset.Fields("sAMAccountName") SQLRecordset.Fields("department") = adoRecordset.Fields("department") SQLRecordset.Fields("description") = Join(adoRecordset.Fields("Description").Value," ") SQLRecordset.Fields("company") = adoRecordset.Fields("company") SQLRecordset.Fields("mail") = adoRecordset.Fields("mail") SQLRecordset.Fields("givenName") = adoRecordset.Fields("givenName") SQLRecordset.Fields("sn") = adoRecordset.Fields("sn") SQLRecordset.Fields("streetAddress") = adoRecordset.Fields("streetAddress") SQLRecordset.Fields("l") = adoRecordset.Fields("l") SQLRecordset.Fields("st") = adoRecordset.Fields("st") SQLRecordset.Fields("postalCode") = adoRecordset.Fields("postalCode") SQLRecordset.Fields("co") = adoRecordset.Fields("co") SQLRecordset.Fields("telephoneNumber") = adoRecordset.Fields("telephoneNumber") SQLRecordset.Fields("displayName") = adoRecordset.Fields("displayName") SQLRecordset.Fields("manager") = GetObject("LDAP://" & adoRecordset.Fields("manager").Value).SamAccountName SQLRecordset.Fields("extensionAttribute1") = adoRecordset.Fields("extensionAttribute1") SQLRecordset.Fields("extensionAttribute2") = adoRecordset.Fields("extensionAttribute2") SQLRecordset.Fields("extensionAttribute3") = adoRecordset.Fields("extensionAttribute3") SQLRecordset.Fields("extensionAttribute4") = adoRecordset.Fields("extensionAttribute4") SQLRecordset.Fields("extensionAttribute5") = adoRecordset.Fields("extensionAttribute5") SQLRecordset.Fields("extensionAttribute6") = adoRecordset.Fields("extensionAttribute6") SQLRecordset.Fields("extensionAttribute7") = adoRecordset.Fields("extensionAttribute7") SQLRecordset.Fields("extensionAttribute8") = adoRecordset.Fields("extensionAttribute8") SQLRecordset.Fields("extensionAttribute9") = adoRecordset.Fields("extensionAttribute9") SQLRecordset.Fields("extensionAttribute10") = adoRecordset.Fields("extensionAttribute10") SQLRecordset.Fields("createTimeStamp") = adoRecordset.Fields("createTimeStamp") SQLRecordset.Fields("whenChanged") = adoRecordset.Fields("whenChanged") adoRecordset.MoveNext Loop SQLRecordset.UpdateBatch adoConnection.Close SQLConnection.Close