Excel - 根据Excel工作表中的显示名称从AD获取用户名

Excel - 根据Excel工作表中的显示名称从AD获取用户名

问题描述:

因此,我收到了这张Excel员工所有关于他们的信息。我试图将这些信息导入到AD中,但为了做到这一点,我还需要为这些用户获取用户名。我想vba代码或vb.net代码基本上采用列D中的每一行的值,并在AD中查找它并返回用户名并将其添加到列A.这样的事情是可能的吗?Excel - 根据Excel工作表中的显示名称从AD获取用户名

+0

我知道Excel方面但我不熟悉AD。这将取决于AD的API - 您能否提供您最佳的猜测方法? – rajah9 2011-05-20 15:18:54

这是可能的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 

当然,你”将不得不根据您的需要调整查询。