Вам нужно будет использовать рекурсивный метод, который ищет всех пользователей, у которых в качестве менеджера выбран человек. Они дадут вам прямые отчеты ... просто и быстро.
Проблема возникает, когда вы также хотите получить косвенные отчеты ... которая потребует от вас проверять прямые отчеты для каждого пользователя, от которого вы получаете Прямой отчет нужного человека и т. д.
Следующий метод может помочь вам достичь этого, но имейте в виду, что это займет все больше и больше времени, в зависимости от количества менеджеров в этом дереве.
function Get-Reports ([string] $manager) {
$users = Get-ADUser -Filter "manager -eq '$manager'"
if ($users -ne $null){
$users
}
$users | % { Get-Reports $_ }
}
# Usage
(Get-Reports <userID>).Count