0 Members and 1 Guest are viewing this topic.
Regarding _get-users-email-addy the following should work (I say should because I just translated it from vb and I'm not on an active directory network at home so I can't test it). Would be great if someone could verify if it works or not, thanks.Code: [Select](defun _get-users-email-addy ( / network user domain conn qry ldaprs fld result ) (vl-catch-all-apply '(lambda ( ) (setq network (vlax-create-object "Wscript.Network") user (vlax-get network 'username) domain (vlax-get network 'userdomain) conn (vlax-create-object "ADODB.Connection") ) (vlax-put conn 'provider "ADsDSOObject") (vlax-invoke conn 'open "ADSI") (setq qry (strcat "select mail from 'LDAP://" domain "' ") qry (strcat qry "WHERE objectClass = 'user' and ") qry (strcat qry "samAccountName = '" user "'") ldaprs (vlax-invoke conn 'execute qry) fld (vlax-invoke (vlax-get ldaprs 'fields) 'item "mail") result (vlax-get fld 'value) ) ) ) (vl-catch-all-apply 'vlax-release-object (list fld)) (vl-catch-all-apply 'vlax-release-object (list ldaprs)) (vl-catch-all-apply 'vlax-release-object (list conn)) (vl-catch-all-apply 'vlax-release-object (list network)) (if (eq 'str (type result)) result))(_get-users-email-addy) >> yourname@yourdomain.comCheers.
(defun _get-users-email-addy ( / network user domain conn qry ldaprs fld result ) (vl-catch-all-apply '(lambda ( ) (setq network (vlax-create-object "Wscript.Network") user (vlax-get network 'username) domain (vlax-get network 'userdomain) conn (vlax-create-object "ADODB.Connection") ) (vlax-put conn 'provider "ADsDSOObject") (vlax-invoke conn 'open "ADSI") (setq qry (strcat "select mail from 'LDAP://" domain "' ") qry (strcat qry "WHERE objectClass = 'user' and ") qry (strcat qry "samAccountName = '" user "'") ldaprs (vlax-invoke conn 'execute qry) fld (vlax-invoke (vlax-get ldaprs 'fields) 'item "mail") result (vlax-get fld 'value) ) ) ) (vl-catch-all-apply 'vlax-release-object (list fld)) (vl-catch-all-apply 'vlax-release-object (list ldaprs)) (vl-catch-all-apply 'vlax-release-object (list conn)) (vl-catch-all-apply 'vlax-release-object (list network)) (if (eq 'str (type result)) result))