0

我正在使用 DirectorySearcher,我想获取所有未设置 extensionAttribute4 的 AD 用户。

在这里,我正在使用返回所有 AD 用户的 DirectorySearcher,但我需要帮助我如何更改此 DirectorySearcher,使其返回未设置 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();

}
4

1 回答 1

0

你已经走了大部分路。这部分:

(objectClass=user)(objectCategory=person)

告诉它寻找用户对象。所以你想保留它。这部分:

(!userAccountControl:1.2.840.113556.1.4.803:=2)

告诉它查找没有在userAccountControl属性上设置第二位的帐户(第二位是表示“禁用”的标志)。

所以要找一个没有extensionAttribute4设置属性的账户,你还是用!操作符,但是你用的是通配符操作符*,所以意思是“这个属性没有设置任何东西”。

所以你的最终过滤器将如下所示:

(&(objectClass=user)(objectCategory=person)(!extensionAttribute4=*))
于 2020-04-10T13:55:41.607 回答