Does anyone know how to get a list of GPO (Group Policy Objects) from a Windows 2003 domain via PowerShell or some other way if PowerShell can’t do this?

I know that Server 2008 has some cmdlets for Group Polices but how can it be done for a Windows 2003 domain?

Looked on Google but no luck.




try SDM software's group policy cmdlets SDM GPMC PowerShell Cmdlets 1.3

  • Good idea, but trying to make the script PowerShell only so we don't need to install different cmdlets on all the customers. But thanks anyway. Sep 13 '10 at 2:21

You can use the GPMC API to get a list of all GPOs:

$gpm = New-Object -ComObject GPMgmt.GPM
$constants = $gpm.GetConstants()
$domain = $env:USERDOMAIN
$gpmDomain =$gpm.GetDomain($domain ,"", $constants.UseAnyDC)
$gpmSearch = $gpm.CreateSearchCriteria()
  • Thanks Shay, I did try that using some examples last week. But I get:- Sep 5 '10 at 23:15
  • $Constants=$gpm.Getconstants() Method invocation failed because [System.__ComObject] doesn't contain a method named 'Getconstants'. At line:1 char:29 + $Constants=$gpm.Getconstants <<<< () + CategoryInfo : InvalidOperation: (Getconstants:String) [], RuntimeException + FullyQualifiedErrorId : MethodNotFound Sep 5 '10 at 23:15

In the end I went with this, used the GPOINFO tool. Not pretty but got what we needed:-

Write-Host "Counting GPO's"
gpotool.exe /dc:$PDC > GPOToolRep.txt
$GCReport=Get-Content -Path GPOToolRep.txt

Thanks for all the responses....Gary

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.