9.1.1 ProblemYou want to find all of the GPOs that have been created in a domain. 9.1.2 Solution9.1.2.1 Using a graphical user interface
9.1.2.2 Using a command-line interface> listallgpos.wsf [/domain:<DomainDNSName>] [/v] You can also use the gpotool to display the GPOs: > gpotool [/domain:<DomainDNSName>] [/verbose] 9.1.2.3 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 9.1.3 DiscussionSee the Introduction in Chapter 9 for more on how GPOs are stored in Active Directory. 9.1.3.1 Using VBScriptYou 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. 9.1.4 See AlsoMS KB 216359 (HOW TO: Identify Group Policy Objects in the Active Directory and SYSVOL) and MSDN: GPMDomain.SearchGPOs |