重用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"代表"轻量级"但是如果我要重新打开一个对象,我觉得关闭它没有意义。

在此上下文中,LDAP无关紧要。相反,变量"objItem"存储的是它收集的任何内容(在本例中是来自LDAP的数据)。并且您不必担心将其放回原处,除非您想要更改、删除或添加LDAP数据。

最新更新