Ska*_*inz 6 vbscript ldap active-directory
我知道使用具有显式凭据的ADsDSOobject连接到AD对象以读取属性,列表成员等.用于操作这些对象的GetObject("LDAP // ...")方法(添加组成员,更改属性)等等),但有没有办法用显式凭证操纵属性和成员资格?
我指的第一种方法是......
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
Run Code Online (Sandbox Code Playgroud)
但据我所知,执行诸如向域组添加用户等任务的脚本示例都不能使用此方法.有办法以某种方式这样做吗?
在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)
Run Code Online (Sandbox Code Playgroud)
它工作正常,但它总是使用您当前的用户凭证.这是因为GetObject不允许您指定备用凭据.
要指定其他credentails,则需要更换GetObject由OpenDSObject
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13683 次 |
| 最近记录: |