How to create 1 million OU’s and linked GPO’s using PowerShell

If you find yourself with a dull moment on a Monday afternoon and feel like capacity testing your test lab with a large number of OU’s and GPO’s – then the following PowerShell script is for you.

Note: *Don’t* run this in a production environment – this is for testing purposes only.


Sample PowerShell code:

import-module ActiveDirectory

import-module GroupPolicy



for ($i=1; $i -le 1000000; $i++)


$nameOU = “ScalingTestOU”+$i

$nameGPO = “ScalabilitytestGPO”+$i

$nameFullDN = “OU=”+$nameOU+”,”+$domOUVar 

$domOUVarTemp = New-ADOrganizationalUnit -Name $nameOU -Path $domOUVar -ProtectedFromAccidentalDeletion $false

write-host “Linking GPO”$nameGPO” with “$nameFullDN

New-GPO -name $nameGPO

New-GPLink -name $nameGPO -target $nameFullDN -LinkEnabled Yes


Comments (0)