Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Active Directory-所有计算机的查询组_C#_.net_Active Directory_Ldap - Fatal编程技术网

C# Active Directory-所有计算机的查询组

C# Active Directory-所有计算机的查询组,c#,.net,active-directory,ldap,C#,.net,Active Directory,Ldap,我正在尝试获取已知组中所有机器的列表。我有组GUID,正在使用“memberof=”格式和ObjectClass筛选构建查询 如果将机器的PrimaryGroup属性设置为已知组,则这可以正常工作,但不会返回机器。在这种情况下,该机器将不会被退回 我在下面的链接中找到了这一点的解释(见Joe Kaplan的回复) 不幸的是,概括的答案是如何从给定用户处获取组列表。我想做相反的事情,从给定的组中获得机器列表 似乎PrimaryGroup信息存储在机器/用户端,所以我不确定我想做的是否可能 我原以

我正在尝试获取已知组中所有机器的列表。我有组GUID,正在使用“memberof=”格式和ObjectClass筛选构建查询

如果将机器的PrimaryGroup属性设置为已知组,则这可以正常工作,但不会返回机器。在这种情况下,该机器将不会被退回

我在下面的链接中找到了这一点的解释(见Joe Kaplan的回复)

不幸的是,概括的答案是如何从给定用户处获取组列表。我想做相反的事情,从给定的组中获得机器列表

似乎PrimaryGroup信息存储在机器/用户端,所以我不确定我想做的是否可能

我原以为可以查询已知组的TokenGroup属性,然后构造一个查询来返回设置了TokenGroup属性的所有机器,但似乎并非所有组都具有此属性

有人有什么想法或建议吗?如果需要任何澄清,请让我知道

非常感谢


Ben

解决方案是发出以下查询:

(&(objectclass=computer)(memberof=)(&(objectclass=computer)(primarygroupid={1})))

第一部分确保返回属于具有给定guid的组的计算机。第二部分确保将primarygroupid设置为给定primarygrouptoken(取自已知组)的计算机返回


此查询返回该组的所有计算机

好的,我提出的解决方案是创建一个过滤器字符串,其行如下:(|)(&(objectclass=computer)(memberof=)(&(objectclass=computer)(primarygroupid={1})))在上述过滤器中,Guid和primarygroupid值都是从已知的计算机组获得的。这似乎确实有效,并返回组中的所有计算机。如果有人对这种方法有任何保留,请让我知道!好吧,现在已经一个多星期了,所以我假设这个问题没有一个众所周知的解决方案,然后回答我的问题。