我使用的是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但是如果我要重新打开它,我认为关闭一个物体是没有意义的。
答案 0 :(得分:0)
在此上下文中,LDAP不相关。相反,您的变量“objItem”存储它收集的任何内容(在这种情况下,来自LDAP的数据)。除非您想要更改,删除或添加LDAP数据,否则您不必担心将其放回原位。