You want to find all of the GPOs that have been created in a domain.
Open the GPMC snap-in.
In the left pane, expand the Forest container.
Expand the Domains container.
Browse to the domain of the target GPO.
Expand the Group Policy Objects container. All of the GPOs in the domain will be listed under that container.
> listallgpos.wsf [/domain:<DomainDNSName>] [/v]
You can also use the gpotool to display the GPOs:
> gpotool [/domain:<DomainDNSName>] [/verbose]
' This code displays all of the GPOs for a domain. ' ------ SCRIPT CONFIGURATION ------ strDomain = "<DomainDNSName>" ' e.g. rallencorp.com ' ------ END CONFIGURATION --------- set objGPM = CreateObject("GPMgmt.GPM") set objGPMConstants = objGPM.GetConstants( ) ' Initialize the Domain object set objGPMDomain = objGPM.GetDomain(strDomain, "", objGPMConstants.UseAnyDC) ' Create an empty search criteria set objGPMSearchCriteria = objGPM.CreateSearchCriteria set objGPOList = objGPMDomain.SearchGPOs(objGPMSearchCriteria) ' Print the GPOs. WScript.Echo "Found " & objGPOList.Count & " GPOs in " & strDomain & ":" for each objGPO in objGPOList WScript.Echo " " & objGPO.DisplayName next
See the Introduction in Chapter 9 for more on how GPOs are stored in Active Directory.
You can find the GPOs in a domain by using the GPMDomain.SearchGPOs method. The only parameter you need to pass to SearchGPOs is a GPMSearchCriteria object, which can be used to define criteria for your search. In this case, I created a GPMSearchCriteria object without additional criteria so that all GPOs are returned. The SearchGPOs method returns a GPMGPOCollection object, which is a collection of GPMGPO objects.
MS KB 216359 (HOW TO: Identify Group Policy Objects in the Active Directory and SYSVOL) and MSDN: GPMDomain.SearchGPOs