无法从ADSI直接报告搜索中筛选特定属性

时间:2017-07-18 13:19:21

标签: powershell powershell-v3.0 powershell-v4.0

在过去的几天里,我一直试图通过ADSI搜索某些人的直接报告来获取特定属性(名称,标题等)而没有运气。这是我目前的代码:

$searcher = [adsisearcher]"(samaccountname=$user)"
$DirectReports = $searcher.FindAll().Properties.directreports

到目前为止,我已经尝试了

$searcher = [adsisearcher]"(samaccountname=$user)"
$dr  = [adsi]('LDAP://' + $searcher.FindAll().Properties.directreports)
$drfinal = $dr.name

这当然没有返回,因为只是试图抓住一个名字,所以我不知道如何缩小它,任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:2)

$dr  = [adsi]('LDAP://' + $searcher.FindAll().Properties.directreports)

不起作用,因为directreports是DN条目的集合。

将它放在一个循环中:

foreach($DirectReportDN in $searcher.FindAll().Properties.directreports){
    $DirectReport = [adsi]"LDAP://$DirectReportDN"
    # Now do $DirectReport.Properties.Name etc.
}

答案 1 :(得分:0)

这是你要找的吗?

Get-ADUser -Identity $user -Properties DirectReports | Select-Object -ExpandProperty DirectReports