************************************************************************************** * Description.......: GetUserInformationBasedOnExchange * Calling Samples...: * Parameter List....: tcCursorName * Created by........: Ambrish Trivedi * Modified by.......: ************************************************************************************** function GetUserInformationBasedOnExchange lparameters tcCursorName local rootDSE, DomainContainer, loConn, ; lcdapStr, rs, oUser, lcError if empty(m.tcCursorName) tcCursorName = 'cUsers' endif lcError = "" try create cursor (m.tcCursorName) ( cFullName C(100), cuserid C(100), ; cDepartment C(100), cPhone C(100)) rootDSE = getobject("LDAP://RootDSE") DomainContainer = rootDSE.get("defaultNamingContext") loConn = createobject("ADODB.Connection") loConn.Provider = "ADSDSOObject" loConn.open("ADs Provider") lcdapStr = "<LDAP://" + DomainContainer + ; ">;(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=user)" + ; "(!(homeMDB=*))(!(msExchHomeServerName=*)))(&(objectCategory=person)" + ; "(objectClass=user)(|(homeMDB=*)(msExchHomeServerName=*))) ));adspath;subtree" rs = loConn.Execute(m.lcdapStr) do while !rs.eof oUser = getobject(rs.fields(0).value) insert into (m.tcCursorName) (cFullName, cuserid, cDepartment, cPhone) ; values (upper(nvl(m.oUser.cn,"")), upper(nvl(m.oUser.sAMAccountName,"")), ; upper(nvl(m.oUser.department,"")), upper(nvl(m.oUser.telephoneNumber,""))) rs.MoveNext() enddo catch to loError lcError = Log_Error(m.loError) finally release rootDSE, DomainContainer, loConn, rs, oUser endtry return m.lcError