我正在寻找使用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"进行搜索。
答案 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
进行搜索之后全民感谢