PowerShell Script to list child OUs with in a given Parent OUs.

To the point. I need a PS script that will list the child OUs with in a given parent OU. Example of the OU structure.

Parent OU  -  OU=CHI,dc=NA,dc=mydomain,dc=net


I have tried ADfind and other scripts with no success.
RisrolloutAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Neil RussellTechnical Development LeadCommented:
I use the following technique.

$sourceOU = "OU=CHI,dc=NA,dc=mydomain,dc=net"
[array] $OUs = @() 
$OUs = dsquery * $sourceOU -Filter "(objectCategory=organizationalUnit)" -limit 0

Open in new window

0
footechCommented:
You can do something like this.  I've included a custom Sort which makes things a little easier to view.
Get-ADOrganizationalUnit -Filter * -SearchBase "OU=someOU,dc=domain,dc=com" | Sort {-join ($_.distinguishedname[($_.distinguishedname.length-1)..0])} | Select *name | ft -auto

Open in new window

0
RisrolloutAuthor Commented:
Neilsr,
Your script only out puts random numbers for me.


Footech,
Yours gives me the SID number of the OU not the Canonical Name.  Can you fix yours where it will show the CanonicalName?
0
Do You Have a Trusted Wireless Environment?

A Trusted Wireless Environment is a framework for building a complete Wi-Fi network that is fast, easy to manage, and secure.

footechCommented:
I know it doesn't give the SID.  The Select statement tells it to display the DistinguishedName and Name properties (actually any property that ends with "name" from those available).  If you want the canonicalname (or any other property that isn't in the default set) that has to be specified with the -properties parameter of Get-ADOrganizationalUnit.
Get-ADOrganizationalUnit -Filter * -SearchBase "OU=someOU,dc=domain,dc=com" -Properties canonicalname | select canonicalname

Open in new window


BTW, Neilsr's should also give you the distinguishedNames.  I ran it and that's what I got.
1

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
footechCommented:
I'm curious why the answer was rated a "B".  It appears that the code does exactly what you asked for.  How could I have made it an "A" answer?

You've been a member here for quite some time so I would assume you're familiar with the grading guidelines...
0
RisrolloutAuthor Commented:
Yes I have been a member for some time and try to give as much credit as I can to the people nice enough to answer. I gave you a B because you did not give me a working script. Most of it was there but not all. With out "Import-Module -Name ActiveDirectory" your script did not work for me. I hope this helps you and others.

This is what I finished with.

Import-Module -Name ActiveDirectory
Get-ADOrganizationalUnit -Filter * -SearchBase "OU=CHI,dc=NA,dc=mydomain,dc=net"  -Properties CanonicalName | Select-Object -Property CanonicalName | Export-CSV -Path c:\YourSite.csv
0
footechCommented:
I appreciate the response.  It's not a large issue so I don't feel the need to go on beyond this post.

I find it excessive to lower a grade because I didn't provide Import-Module -Name ActiveDirectory
Using PS 3.0 and newer the module is loaded automatically if it's available.  If you had an issue running the command I could have easily answered that, but if you don't ask the question there's little point in guessing what your environment is and providing variations for whatever you may have.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Powershell

From novice to tech pro — start learning today.