我可以仅使用 extensionAttribute4 创建 DirectorySearcher 过滤器吗?
Can I create a DirectorySearcher filter using only extensionAttribute4?
我正在使用 DirectorySearcher,我想获取所有未设置 extensionAttribute4 的 AD 用户。
我在这里使用这个 DirectorySearcher returns 所有 AD 用户,但我需要帮助,我如何才能改变这个 DirectorySearcher 的方式 returns 那些没有设置 extensionAttribute4 的 AD 用户.
任何帮助将不胜感激。
using (DirectorySearcher oSearch = new DirectorySearcher(oSearchRoot))
{
oSearch.Filter = "(&(objectClass=user)(objectCategory=person)(!userAccountControl:1.2.840.113556.1.4.803:=2))";
SearchResultCollection oResultCol = oSearch.FindAll();
}
您已经完成大部分内容了。这部分:
(objectClass=user)(objectCategory=person)
告诉它寻找用户对象。所以你想保留它。这部分:
(!userAccountControl:1.2.840.113556.1.4.803:=2)
告诉它查找没有在 userAccountControl
属性上设置第二位的帐户(第二位是一个标志,表示 "disabled")。
所以要找一个没有设置extensionAttribute4
属性的账号,你还是用!
操作符,但是你用的是通配符*
,所以它表示 "this attribute is not set to anything".
因此您的最终过滤器将如下所示:
(&(objectClass=user)(objectCategory=person)(!extensionAttribute4=*))
我正在使用 DirectorySearcher,我想获取所有未设置 extensionAttribute4 的 AD 用户。
我在这里使用这个 DirectorySearcher returns 所有 AD 用户,但我需要帮助,我如何才能改变这个 DirectorySearcher 的方式 returns 那些没有设置 extensionAttribute4 的 AD 用户. 任何帮助将不胜感激。
using (DirectorySearcher oSearch = new DirectorySearcher(oSearchRoot))
{
oSearch.Filter = "(&(objectClass=user)(objectCategory=person)(!userAccountControl:1.2.840.113556.1.4.803:=2))";
SearchResultCollection oResultCol = oSearch.FindAll();
}
您已经完成大部分内容了。这部分:
(objectClass=user)(objectCategory=person)
告诉它寻找用户对象。所以你想保留它。这部分:
(!userAccountControl:1.2.840.113556.1.4.803:=2)
告诉它查找没有在 userAccountControl
属性上设置第二位的帐户(第二位是一个标志,表示 "disabled")。
所以要找一个没有设置extensionAttribute4
属性的账号,你还是用!
操作符,但是你用的是通配符*
,所以它表示 "this attribute is not set to anything".
因此您的最终过滤器将如下所示:
(&(objectClass=user)(objectCategory=person)(!extensionAttribute4=*))