Vbscript - 重用LDAP对象?

时间:2011-11-29 11:12:20

标签: vba vbscript ldap

我使用的是ADSI Scriptomatic,我注意到这些示例需要用户名strName,但我想做一整批操作来从AD中提取数据并将数据放回原处。我只是想知道当我拉入或放入数据时objRootDSE对象会发生什么?

Public Sub createADCommand(Optional strContainer As String)
    Set objRootDSE = GetObject("LDAP://rootDSE")
    If strContainer = "" Then
        Set objItem = GetObject("LDAP://" & _
        objRootDSE.Get("defaultNamingContext"))
    Else
        Set objItem = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & _
        objRootDSE.Get("defaultNamingContext"))
    End If
End Sub

我问的原因是因为我想重用这个对象,如果它在某种程度上是内存密集型的。我希望代码尽可能高效。但我不确定LDAP是否是一个繁重的协议?我知道“L”代表“轻量级”:p但是如果我要重新打开它,我认为关闭一个物体是没有意义的。

1 个答案:

答案 0 :(得分:0)

在此上下文中,LDAP不相关。相反,您的变量“objItem”存储它收集的任何内容(在这种情况下,来自LDAP的数据)。除非您想要更改,删除或添加LDAP数据,否则您不必担心将其放回原位。