所以我有这张Excel员工表,里面有关于他们的所有信息。我正在尝试将此信息导入AD,但为了做到这一点,我还需要获取这些用户的用户名。我希望vba代码或vb.net代码基本上取D列中每一行的值,并在AD中查找它并返回用户名并将其添加到A列。这样的事情是可能的吗?
答案 0 :(得分:1)
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
当然,您必须根据需要调整查询。