基本上,我正在开发用于管理Active Directory的应用程序,我添加了一层“安全性”,即可以为特定用户分配允许他们访问/搜索的OU GUID。< / p>
我现在面临的问题是,考虑到有时会收集大量GUID(1200ish)并且仅从这些特定OU返回结果,似乎没有一种查询AD的好方法。
有人知道是否可以使用多个DirectorySearcher或类似工具来实现这一目标,而又不会影响性能?
-这在SQL中非常容易...:-/
答案 0 :(得分:0)
有几种方法可以做到这一点:
DirectorySearcher
对象,则可以为每个要搜索的OU创建一个DirectorySearcher
,并将每个SearchRoot
设置为要搜索的OU 。但是事情确实变得复杂了。如果您不希望用户A看到OU B中的对象,那么可以确定对用户A隐藏该OU。但是用户A仍然可以看到其中包含来自OU B的用户的组。因此,用户A仍会看到OU B存在的证据。所以,
如果您选择选项1或2,那么在查看组成员身份时也必须从组中过滤结果。
如果使用选项3,则可能会破坏PowerShell脚本(如果他们曾经使用过),因为PowerShell会尝试读取组中的每个成员,如果无法读取,则会崩溃。
< / li>