Excel - 根据Excel工作表中的显示名称从AD获取用户名
问题描述:
因此,我收到了这张Excel员工所有关于他们的信息。我试图将这些信息导入到AD中,但为了做到这一点,我还需要为这些用户获取用户名。我想vba代码或vb.net代码基本上采用列D中的每一行的值,并在AD中查找它并返回用户名并将其添加到列A.这样的事情是可能的吗?Excel - 根据Excel工作表中的显示名称从AD获取用户名
答
这是可能的ADO.NET。我无法在当前环境中尝试它,但过去我已成功使用它:
添加对ADO类型库(msadoXX.dll)的引用。
使用您自己的凭据创建到ActiveDirectory的连接。有时工作不指定您的凭据(单点登录):
Dim Con As New Connection
con.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "userme"
oConnect.Properties("Password") = "xxxx"
oConnect.Properties("Encrypt Password") = True
oConnect.Open "MyExcelConnection", stUser, stPass
接下来创建一个命令:
Dim command As New Command
Set command.ActiveConnection = oConnect
command.CommandText =
"<LDAP://dc.company.com/ou=accounting,dc=company,dc=com>;(objectClass=user);displayName,mail;subtree"
然后执行查询命令:
Dim rs As ResultSet
Set rs = cmd.Execute
While Not rs.EOF
X = rs.Fields(0).Value
Y = rs.Fields(1).Value
rs.MoveNext
Wend
当然,你”将不得不根据您的需要调整查询。
我知道Excel方面但我不熟悉AD。这将取决于AD的API - 您能否提供您最佳的猜测方法? – rajah9 2011-05-20 15:18:54