Este posibil să configurați un grup de distribuție dinamic pentru a conține toate rapoartele directe ale unei persoane, plus toate rapoartele directe ale acestora în mod recursiv?
Informații detaliate
Pentru a obține doar rapoartele directe, cred că am rula:
Set-DynamicDistributionGroup -Identity 'SomeManagersDirectReports' `
-RecipientFilter „((RecipientType -eq 'UserMailbox') -și (Manager -eq 'CN=SomeManager,OU=Utilizatori,DC=domain,DC=exemplu,DC=com')"
Dar pentru a obține un manager, rapoartele lor directe și rapoartele lor recursiv, singura modalitate la care mă pot gândi este să rulez ceva ca cel de mai jos pentru a genera o listă de membri, apoi să o folosesc pentru a actualiza dinamic un grup de distribuție (static).
# cod foarte aspru pentru gândirea demonstrativă... Încă nu am luat în considerare lucruri precum evadarea caracterului /
# bucle circulare / alte lucruri distractive care pot fi găsite în sălbăticie...
[șir]$FirstPersonDn = 'CN=SomeManager,OU=Utilizatori,DC=domeniu,DC=exemplu,DC=com'
[System.Collections.Generic.List[șir]]$newMembers = [System.Collections.Generic.List[șir]]::new()
[System.Collections.Generic.List[șir]]$members = [System.Collections.Generic.List[șir]]::new()
$newMembers.Add($FirstPersonDn)
while ($newMembers.Count) {
$membri.Adăugați($membri noi)
$newMembers = $newMembers | %{Get-AdUser $_ -properties DirectReports} | % Rapoarte directe
}
Update-DistributionGroupMember -Identity 'SomeManagerAndTheirReportsRecusive' -Members $members