A maneira de fazer isso é fazer uma consulta LDAP no sAMAccountName e no userPrincipalName. Por exemplo: (& (sAMAccountName = uname) (userPrincipalName = * @ example.com)) consultaria o usuário [email protected] se seu sAMAccountName ("suposto UPN implícito", suponho) fosse uname.
Programas como o adfind permitem que você execute consultas LDAP arbitrárias, como esta, no AD.
No caso em que você não pode confiar no sufixo UPN para corresponder ao domínio porque ele também foi substituído, você pode criar uma lista de partes do SID para cada domínio (cada parte do SID do usuário, exceto a última parte) e procure por isso. Se um domínio example.net tivesse uma parte SID de 1234-5678-9012, os usuários do domínio teriam um SID começando com S-1-5-21-1234-5678-9012-. Se você tem esse mapeamento, você poderia escrever uma pesquisa LDAP
( &(sAMAccountName=uname)(objectSID=S-1-5-21-1234-5678-9012-*) )