Private/Get-ManagerEmailFromUserDN.ps1
function Get-ManagerEmailFromUserDN { param( [Parameter(Mandatory = $true)] [string]$UserDN ) try { # Step 1: Bind to user object using their DN $user = [ADSI]("LDAP://" + $UserDN) # Step 2: Get manager DN (may be null) $managerDN = $user.Properties["manager"] if (-not $managerDN) { Write-Verbose "No manager attribute found for user: $UserDN" return $null } # Step 3: Bind to manager object and get email $manager = [ADSI]("LDAP://" + $managerDN[0]) $email = $manager.Properties["mail"] return $email } catch { Write-Warning "Error fetching manager email for $UserDN : $_" return $null } } |