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
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.