按全名搜索Active Directory中的用户

时间:2013-07-19 10:46:41

标签: search vbscript active-directory

我正在寻找使用VBScript在Active Directory中搜索用户的方法。我可以使用ADODB Connection通过用户名或任何Active Directory进行搜索:

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = ("ADsDSOObject")
objConnection.Open "Active Directory Provider"
objCommand.ActiveConnection = objConnection
objCommand.Properties("SearchScope") = 2
objCommand.CommandText = "SELECT userWorkstations,sAMAccountName,Mail,name,DisplayName,distinguishedName FROM 'LDAP://dc=NESTLE,dc=com' WHERE objectCategory='user' AND name='" & VaR5 & "'"
Set objRecordSet = objCommand.Execute

但是我想找一个用他全名的用户,比如" John Doe" (用户:JDOE)。就像在 AD用户和计算机界面中一样,我们可以通过" John Doe"进行搜索。

2 个答案:

答案 0 :(得分:0)

更改

"... name='" & var5 & "'"

"... displayName='" & var5 & "'"

"... sn='" & lastname & "' and givenName='" & firstname & "'"

对于后者,你需要2个变量:一个是第一个,另一个是姓。

答案 1 :(得分:0)

好的,似乎可以通过解决方法使用Outlook功能

Dim myOlApp

Dim myOlNameSpace

Dim objFolder

Set myOlApp = CreateObject("Outlook.Application")

Set myOlNameSpace = myOlApp.GetNamespace("MAPI")

Set myRecipient = myOlNameSpace.CreateRecipient("Martin Pierre-François")

myRecipient.Resolve

msgbox myRecipient

在AD中使用displayName Attribute

进行搜索之后

全民感谢