Solved

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

Posted on 2014-12-09
7
5,158 Views
Last Modified: 2014-12-19
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.
0
Comment
Question by:Risrollout
  • 4
  • 2
7 Comments
 
LVL 37

Expert Comment

by:Neil Russell
ID: 40489757
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
 
LVL 39

Expert Comment

by:footech
ID: 40489862
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
 

Author Comment

by:Risrollout
ID: 40490109
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
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 
LVL 39

Accepted Solution

by:
footech earned 500 total points
ID: 40490144
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.
0
 
LVL 39

Expert Comment

by:footech
ID: 40506086
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
 

Author Comment

by:Risrollout
ID: 40506289
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
 
LVL 39

Expert Comment

by:footech
ID: 40509003
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

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to prepare an HTML email signature template file containing dynamic placeholders for users' Azure AD data. Furthermore, it explains how to use this file to remotely set up a department-wide email signature policy in Office …
The following article is intended as a guide to using PowerShell as a more versatile and reliable form of application detection in SCCM.
This tutorial will walk an individual through the process of transferring the five major, necessary Active Directory Roles, commonly referred to as the FSMO roles from a Windows Server 2008 domain controller to a Windows Server 2012 domain controlle…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

822 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question