使用 DirectorySearcher 按 GUID 搜索 Active Directory 组
我使用 DirectorySearcher
通过其(对象)GUID 查找 AD 安全组。
到目前为止,这是我的代码:
using (var container = new DirectoryEntry("LDAP://host:port/DC=X,DC=Y", User, Pass, AuthenticationType)
{
using (var searcher = new DirectorySearcher(container))
{
searcher.Filter = $"(objectguid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)"
var result = searcher.FindOne();
}
}
不幸的是,结果总是返回 null,并且我无法更改 DirectoryEntry
的路径。
I'm using DirectorySearcher
to find an AD security group by its (object) GUID.
Here's my code so far:
using (var container = new DirectoryEntry("LDAP://host:port/DC=X,DC=Y", User, Pass, AuthenticationType)
{
using (var searcher = new DirectorySearcher(container))
{
searcher.Filter = quot;(objectguid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)"
var result = searcher.FindOne();
}
}
Unfortunately the result always returns null, and I cannot change the DirectoryEntry
's path.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
要使用
objectGuid
进行查询需要一种特殊的格式,我现在不太记得了,但它很复杂。但还有更好的方法。您可以使用 GUID 直接绑定到对象,而无需使用以下格式进行搜索:
有关详细信息,请参见:使用 objectGUID 绑定到对象
您也可以对 SID 执行相同的操作:使用 a 绑定到对象SID
To make a query using
objectGuid
requires a special format that I don't quite remember right now, but it's complicated.But there's a better way. You can bind directly to the object using the GUID, without searching, by using this format:
More information on that here: Using objectGUID to Bind to an Object
You can do the same with the SID as well: Binding to an Object Using a SID
为了匹配活动目录格式,我找到了以下解决方案:
In order to match the active directory format, I have found the following solution: