2011-11-29 31 views
1

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

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

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