Para converter de distinguished name para canonicalname vamos transformar em um array e inverter sua ordem (exceto o nome do domínio). Caso tenha dúvidas de como fazer isso, leia nosso post Inverter a ordem de um array no Powershell. Abra o Powershell ISE e use o seguinte código:

Get-ADUser -Filter * | ForEach-Object {
   $distinguishedname = $_.distinguishedname
   [regex]$domain = ",DC="
   $distinguishedname = $domain.replace($distinguishedname, ";|", 1)
   $distinguishedname = $distinguishedname.Replace('CN=','').Replace(',DC=','.').Replace('OU=','').Replace(';|',',').Split(',')
   [array]::Reverse($distinguishedname)
   #$distinguishedname= ($distinguishedname[($distinguishedname.Length-1)..0])
   $canonical = $distinguishedname -join "\"
   Write-host "$canonical"
}

Fontes/Referências

NVLAN – Inverter a ordem de um array no PowerShell

https://stackoverflow.com/questions/40089631/replacing-only-the-first-occurrence-of-a-word-in-a-string

Mais Informações

Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.

Entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria