Actions

Powershell: Parse AD DistinguishedName

From Mike Beane's Blog

Revision as of 13:29, 18 April 2019 by Rabbi Bob (talk | contribs) (Created page with "=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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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