使用备用凭据使用VBscript保护LDAP对象操作
我知道使用带有显式凭据的ADsDSOobject连接到AD对象以读取属性、列出成员等,并使用GetObject(“LDAP/…”)方法来操作这些对象(添加组成员、更改属性等),但是否有方法使用显式凭据操作属性和成员身份 我指的第一种方法是使用备用凭据使用VBscript保护LDAP对象操作,vbscript,active-directory,ldap,Vbscript,Active Directory,Ldap,我知道使用带有显式凭据的ADsDSOobject连接到AD对象以读取属性、列出成员等,并使用GetObject(“LDAP/…”)方法来操作这些对象(添加组成员、更改属性等),但是否有方法使用显式凭据操作属性和成员身份 我指的第一种方法是 Set conn = Server.CreateObject("ADODB.Connection") Set cmd = Server.CreateObject("ADODB.Command") conn.Provider = "ADsDSOobject" c
Set conn = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")
conn.Provider = "ADsDSOobject"
conn.Properties("User ID") = AD_Username
conn.Properties("Password") = AD_Password
conn.Properties("Encrypt Password") = True
conn.Open "Active Directory Provider"
Set cmd.ActiveConnection = conn
但据我所知,执行向域组添加用户等任务的脚本示例都不能使用这种方法。有什么方法可以做到这一点吗?在VBScript中,您经常使用ADSI将用户添加到组中。下面是将用户添加到域组的示例代码
Set objUser = GetObject("LDAP://CN=jeffsmith,DC=fabrikam,DC=com")
Set objGroup = GetObject("LDAP://CN=group1,DC=fabrikam,DC=com")
objGroup.add(objUser.ADsPath)
它工作正常,但总是使用当前用户的Credentail。这是因为GetObject
不允许您指定备用凭据
要指定另一个credentails,需要将GetObject
替换为
谢谢你,哈维!我不知道为什么我以前没有看到这些。@Harvey你好Harvey,我面临着类似的问题。我想使用备用凭据从active directory获取用户详细信息。你能给我一些它的代码样本吗。任何例子,任何线索都可以。我在stackoverflow上发布了我的问题。你能调查一下吗
Const ADS_SECURE_AUTHENTICATION = 1
Set openDS = GetObject("LDAP:")
Set objUser = openDS.OpenDSObject("LDAP://CN=jeffsmith,DC=fabrikam,DC=com",
"username",
"password",
ADS_SECURE_AUTHENTICATION)
Set objGroup = openDS.OpenDSObject("LDAP://CN=group1,DC=fabrikam,DC=com",
"username",
"password",
ADS_SECURE_AUTHENTICATION)
objGroup.add(objUser.ADsPath)