我想通过PowerShell找到带有特定管理器的所有AD条目。我需要如何设置过滤器?
假设我们有以下组织:是userb、userc和userd的经理。
所以我希望过滤器返回usera,userb,userc和userd。
$ADS = New-Object System.DirectoryServices.DirectorySearcher
$ADS.Filter = "(|(cn=usera)(manager=*CN=usera*))"
$Results = $ADS.FindAll()
$Results.Count
$ADS.Filter = "(|(cn=usera)(manager=*usera*))"
$Results = $ADS.FindAll()
$Results.Count
$ADS.Filter = "(|(cn=usera)(manager=usera))"
$Results = $ADS.FindAll()
$Results.Count结果总是空的。但是,如果我将完全区分名-属性从usera复制到过滤器中,它就能工作。问题是,我在启动脚本时没有这个值,所以我必须先进行另一个查询,然后才能开始我想要避免的实际查询(例如下面的例子)。
$ADS = New-Object System.DirectoryServices.DirectorySearcher
$ADS.Filter = "(cn=usera)"
$Result1 = $ADS.FindOne()
$ADS.Filter = "(|(cn=usera)(manager=$($Result1.Properties.distinguishedname)))"
$Results = $ADS.FindAll()
$Results.Count产出:4
发布于 2021-04-10 03:23:27
为什么manager属性指向DN?真正的经理财产不是SID的吗?可能在查询期间发生了一些转换。
https://stackoverflow.com/questions/67017820
复制相似问题