T

How to Generate Group Policy (GPO) Reports Using PowerShell

38 views · updated 2026-07-01 · published 2026-07-01 · by Hasarinda Manjula · Windows Server Reading time: 3 min English සිංහල

Overview

Generating GPO reports helps you audit, document, and troubleshoot Group Policy in a domain. PowerShell’s Get-GPOReport and GPResult create detailed HTML or XML reports of policy settings. This guide shows how.

Generate detailed Group Policy reports with PowerShell.

Key Takeaways

  • Get-GPOReport documents a GPO’s settings; GPResult shows applied (resultant) policy.
  • Reports can be exported as HTML (readable) or XML (machine-parseable).
  • Requires the Group Policy module (part of RSAT).
  • Run on a domain-joined machine with appropriate rights.

Before You Begin

  • Install RSAT / the GroupPolicy PowerShell module.
  • Run PowerShell as an administrator with domain permissions.
  • Import the module: Import-Module GroupPolicy.

List All GPOs

1. Open PowerShell as administrator.

2. Run: Get-GPO -All | Select-Object DisplayName, Id

3. This lists every GPO in the domain with its name and GUID.

Report on a Single GPO

1. HTML: Get-GPOReport -Name "Policy Name" -ReportType HTML -Path "C:\Reports\Policy.html"

2. XML: Get-GPOReport -Name "Policy Name" -ReportType XML -Path "C:\Reports\Policy.xml"

3. Open the HTML file in a browser to read the settings.

How to Generate Group Policy (GPO) Reports Using PowerShell

Create an HTML/XML report for GPOs.

Report on All GPOs

1. One combined HTML report: Get-GPOReport -All -ReportType HTML -Path "C:\Reports\AllGPOs.html"

2. Individual reports: Get-GPO -All | ForEach-Object { Get-GPOReport -Name $_.DisplayName -ReportType HTML -Path "C:\Reports\$($_.DisplayName).html" }

Resultant Policy With GPResult

1. See applied policy for the current user/computer: gpresult /h C:\Reports\RSOP.html

2. Open the report to see which GPOs actually applied and why.

3. Use gpresult /r for a quick console summary.

Troubleshooting

Problem: "Get-GPO is not recognized".

Solution: Install RSAT/the GroupPolicy module and run Import-Module GroupPolicy; ensure you are on a domain-joined machine.

Problem: Access denied generating reports.

Solution: Run PowerShell as administrator with an account that has rights to read GPOs in the domain.

Problem: "Index was out of range" error.

Solution: Update the GroupPolicy module/RSAT; this is a known bug fixed in newer versions.

Problem: How do I export to CSV?

Solution: Parse the XML report (Get-GPOReport -ReportType XML) and export the fields you need with Export-Csv.

Conclusion

PowerShell makes documenting Group Policy easy: use Get-GPOReport for full HTML/XML reports of GPO settings and GPResult for resultant policy. They are essential for audits and troubleshooting in any AD environment.

</w:pBdr><w:spacing w:before="220" w:after="40"/></w:pPr><w:r><w:rPr><w:b/><w:bCs/><w:color w:val="0B5394"/><w:sz w:val="21"/><w:szCs w:val="21"/><w:rFonts w:ascii="Calibri" w:cs="Calibri" w:eastAsia="Calibri" w:hAnsi="Calibri"/></w:rPr><w:t xml:space="preserve">About TechHub

This guide is part of the TechHub Knowledge Base. For more step-by-step IT guides and support, visit techhub.com.lk.

Thanks for your feedback! 🙌

Read more

TechHub Assistant
Online · AI assistant
Thinking
⬇ Downloads 📦 Orders 🛒 Buy License 🎫 Create Ticket 🙋 Contact
AI-generated · may be inaccurate. Talk to a human