Active directory LDAP查询在Active Directory中找不到特定组
我在Excel中有一个宏,我定期使用它来提取Active Directory中组成员的详细信息。我尝试过的每一组都很好,但我遇到了一组我似乎无法获得数据的组 脚本的相关部分如下所示:Active directory LDAP查询在Active Directory中找不到特定组,active-directory,ldap,Active Directory,Ldap,我在Excel中有一个宏,我定期使用它来提取Active Directory中组成员的详细信息。我尝试过的每一组都很好,但我遇到了一组我似乎无法获得数据的组 脚本的相关部分如下所示: Set rootDSE = GetObject("LDAP://[MyDomain.co.uk]/RootDSE") DomainContainer = rootDSE.Get("defaultNamingContext") Set conn = CreateObject("ADODB.Connection")
Set rootDSE = GetObject("LDAP://[MyDomain.co.uk]/RootDSE")
DomainContainer = rootDSE.Get("defaultNamingContext")
Set conn = CreateObject("ADODB.Connection")
conn.Provider = "ADSDSOObject"
conn.Open "ADs Provider"
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = conn
command.Properties("Page size") = 200
groupDistinguisedName = "CN=[Group Name],OU=xxx,OU=xxx,DC=MyDomain,DC=co,DC=uk"
command.CommandText = "<LDAP://" & DomainContainer & ">;(distinguishedName=" & groupDistinguisedName & ");member;subtree"
Set rs = command.Execute
On Error Resume Next
dataVal = rs.Fields("member").Value
Set rootDSE=GetObject(“LDAP://[MyDomain.co.uk]/rootDSE”)
DomainContainer=rootDSE.Get(“defaultNamingContext”)
Set conn=CreateObject(“ADODB.Connection”)
连接提供程序=“ADSDSOObject”
康涅狄格州开放式“广告提供商”
Set command=CreateObject(“ADODB.command”)
Set command.ActiveConnection=conn
command.Properties(“页面大小”)=200
groupDistinguisedName=“CN=[组名],OU=xxx,OU=xxx,DC=MyDomain,DC=co,DC=uk”
command.CommandText=“;(DifferentizedName=“&groupDistinguisedName&”);成员;子树
设置rs=command.Execute
出错时继续下一步
dataVal=rs.Fields(“成员”).Value
我尝试使用不存在的组名运行脚本,并且脚本以不同的方式运行-如果组不存在,则dataVal设置为空,但对于我遇到问题的组,dataVal设置为空,因此,它似乎已经找到了该组,但不知何故无法找到该组的成员
我已经尝试将可分辨名称直接从Active Directory剪切并粘贴到LDAP命令字符串中,这样我就知道它不是名称的输入错误。这个团体是一个有很多成员的大团体,但我也尝试过其他大团体。我只是看不出是什么导致了这个问题。有什么想法吗?“成员”属性不包括主要组成员的成员。e、 g.“域用户”组可能有许多成员,但其“成员”属性可以为空 要检查主组成员身份,请使用primaryGroupToken(组)和primaryGroupId(用户)属性
- 从组中获取primaryGroupToken属性的值
(注意primaryGroupToken是一个构造属性) - 在相同域中搜索primaryGroupId中具有相同值的所有用户
- 您已经知道DN和服务器。为什么不直接调用
来获取组? DifferentizedName属性未编制索引。在大型环境中,查询速度可能较慢GetObject(“LDAP://[MyDomain.co.uk]/”&groupDistinguisedName)
- 如果“成员”属性中有>1500个(可配置)成员,则需要使用范围检索。否则你只能得到1500英镑李>