เป็นไปได้ไหมที่จะกำหนดค่ากลุ่มการแจกจ่ายแบบไดนามิกให้มีรายงานโดยตรงทั้งหมดของบุคคลบางคน รวมถึงการรายงานโดยตรงทั้งหมดของพวกเขาแบบวนซ้ำ
ข้อมูลอย่างละเอียด
หากต้องการรับเฉพาะผู้รายงานโดยตรง ฉันเชื่อว่าเราจะเรียกใช้:
Set-DynamicDistributionGroup -Identity 'SomeManagersDirectReports' `
-RecipientFilter "((RecipientType -eq 'UserMailbox') -and (Manager -eq 'CN=SomeManager,OU=Users,DC=domain,DC=example,DC=com')"
แต่หากต้องการผู้จัดการ ผู้ใต้บังคับบัญชา และรายงานแบบวนซ้ำ วิธีเดียวที่ฉันคิดได้คือเรียกใช้บางอย่างด้านล่างเพื่อสร้างรายชื่อสมาชิก จากนั้นใช้ข้อมูลนั้นเพื่ออัปเดตกลุ่มการแจกจ่าย (คงที่) แบบไดนามิก
# รหัสหยาบมากสำหรับการสาธิตการคิด ... ยังไม่ได้พิจารณาสิ่งต่าง ๆ เช่นการหลบหนีของตัวละคร /
#ห่วงกลม / ของน่าเล่นอื่นๆที่อาจหาได้จากป่า...
[string]$FirstPersonDn = 'CN=SomeManager,OU=Users,DC=domain,DC=example,DC=com'
[System.Collections.Generic.List[string]]$newMembers = [System.Collections.Generic.List[string]]::new()
[System.Collections.Generic.List[string]]$members = [System.Collections.Generic.List[string]]::new()
$newMembers.Add($FirstPersonDn)
ในขณะที่ ($newMembers.Count) {
$members.Add($สมาชิกใหม่)
$newMembers = $สมาชิกใหม่ | %{รับ AdUser $_ -คุณสมบัติ DirectReports} | % รายงานโดยตรง
}
Update-DistributionGroupMember -Identity 'SomeManagerAndTheirReportsRecusive' - สมาชิก $members