9.1. Finding the GPOs in a Domain

Problem

You want to find all of the GPOs that have been created in a domain.

Solution

Using a graphical user interface

  1. Open the GPMC snap-in.

  2. In the left pane, expand the Forest container.

  3. Expand the Domains container.

  4. Browse to the domain of the target GPO.

  5. Expand the Group Policy Objects container. All of the GPOs in the domain will be listed under that container.

Using a command-line interface

> listallgpos.wsf [/domain:<DomainDNSName>] [/v]

You can also use the gpotool to display the GPOs:

> gpotool [/domain:<DomainDNSName>] [/verbose]

Using VBScript

' 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

Discussion

See the Introduction in Chapter 9 for more on how GPOs are stored in Active Directory.

Using VBScript

You can find the GPOs in a domain by using the GPMDomain.SearchGPOs method. The only parameter you need to pass to SearchGPOs ...

Get Active Directory Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.