Для предстоящего аудита меня попросили поработать над созданием сценария, который идентифицирует все прямые отчеты менеджеров и указывает, с какими группами в AD они связаны. Затем экспортируйте их в электронную таблицу.
Например, у вас есть менеджеры A, B и C. Менеджер A имеет сотрудников D, E, F в своей команде / отделе. Менеджер B имеет сотрудника C, G, H, а менеджер C имеет I, J, K.
Я нашел некоторый код из другого поста в качестве отправной точки для меня. В нем перечислены все сотрудники и их группы, но там явно не хватает того, чего я хочу достичь. По сути, эти ссылки - то, чего я пытаюсь достичь, просто не знаком с Powershell.
Powershell - прямой отчет менеджера и членство в группах
https://powershell.org/forums/topic/powershell-script-to-list-all-staff-reporting-to-manager-direct-and-indirectly/
Любая помощь приветствуется.
$managers = Get-ADUser -Filter * -Properties name, directreports, EmailAddress | where {$_.directreports -ne $Null}
foreach ($i in $managers)
{
$mgrname = $i.Name
$mgremail = $i.EmailAddress
$dreports = $i.directreports
foreach ($d in $dreports)
{
$user = get-aduser $d -properties *
write-host "*** " $user.name "is a member of the following groups: " $user.memberof | select name
}
}