Powershell Script : List AD Organizational Unit and GPOs linked to them

The below script will search Active Directory for all Organizational Unit which contain specific name and list them along with all Group Policies linked to those OUs. Example: The below command will get a list of all OUs which name contains ‘Test’. It will also show the details of all GPOs linked to OUs.

Usage Example:

.\Get-OUList.ps1 –OUName “Test”




$invocation = (Get-Variable MyInvocation).Value
$directorypath = Split-Path $invocation.MyCommand.Path
$outputfile = $directorypath + "\Result.csv"
$OUName = "*" + $OUName + "*"
$Results = @()

$OUList=Get-ADOrganizationalUnit -Filter * | Where-Object -FilterScript {$PSItem.distinguishedname -like $OUName}

foreach($OU in $OUList){
 $LinkedGPOs = Get-ADOrganizationalUnit -Identity $OU | select -ExpandProperty LinkedGroupPolicyObjects 
 foreach($LinkedGPO in $LinkedGPOs) {            
 $GPO = [adsi]"LDAP://$LinkedGPO" | select * 
 $properties = @{
        GPOWhenChanged = $gpo.whenChanged.Value
 $Results += New-Object psobject -Property $properties
$Results | Select-Object OUName,GPOName,GPOGUID,GPOWhenCreated,GPOWhenChanged | Export-Csv -notypeinformation -Path $outputfile

Related Posts:

Subscribe to Techuisitive Newsletter

Be the first to know about our new blog posts, Get our newsletter directly in your inbox and stay up to date about Modern Desktop Management technologies and news.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top