Powershell: Parse AD DistinguishedName
From Mike Beane's Blog
Purpose
Using Powershell, break down the elements of the AD DistinguisedName value return. Ideally, use this has a launching point to handle CN, OU, DC, etc values from the resulting array.
Background
At first I wanted to do this via regex however at my level of knowledge it seemed to be a higher hurdle to break down the variable length input DN string. Luckily I realized that it's a comma separated value and it is nicely split by commas.
Code
$AD_distinguishedName = 'CN=Some B. User,OU=Accounting,OU=Part Time,OU=Staff,OU=Users,DC=Rabbibob,DC=com' write-host $AD_distinguishedName $DN_array=@() $AD_distinguishedName | Foreach{ $DN_array=$_.split(",") } $DN_Counter=0 write-host "Size of Array:" $DN_array.Length foreach($DN_array_value in $DN_array) { write-host "Position $DN_Counter" $DN_array_value $DN_Counter++ }
Output
CN=Some B. User,OU=Accounting,OU=Part Time,OU=Staff,OU=Users,DC=Rabbibob,DC=com Size of Array: 7 Position 0 CN=Some B. User Position 1 OU=Accounting Position 2 OU=Part Time Position 3 OU=Staff Position 4 OU=Users Position 5 DC=Rabbibob Position 6 DC=com