Troubleshooting Group Policy with GPResult: A Complete Guide

Troubleshoot Group Policy information, ensuring your system configurations are applied correctly and efficiently.

Published: Mar 07, 2025

Windows 11 2022 Update

SHARE ARTICLE

Navigating Group Policy issues can be challenging in an Active Directory environment, but the gpresult command is a powerful tool for diagnosing and resolving these problems. This article helps you to effectively use gpresult to troubleshoot Group Policy information, ensuring your system configurations are applied correctly and efficiently.

Using GPResult for Basic Troubleshooting

Let me explain and demonstrate how to use GPResult for basic troubleshooting with Group Policy.

How to generate a report using GPResult

You can use Windows Terminal with a command prompt or a PowerShell prompt. We’ll start with one of the simplest examples of the command.

gpresult /R
Using the GPResult command with the '/R' switch
Using the ‘GPResult’ command with the ‘/R’ switch – Image Credit: Michael Reinders/Petri.com

You can also run it against another user, a remote user, not the user currently logged on, using the /USER switch. Let me show you.

gpresult /USER breinders /R

Interpreting the output

A good deal of diagnostic information and summary data starts the report. Basic, but important details you won’t want to miss. You’ll find what Group Policy Objects (GPOs) were applied and were not applied under the ‘Applied Group Policy Objects’ and ‘The following GPOs were not applied because they were filtered out’ headings. Towards the end of the report, you’ll see what Active Directory (AD) security groups the user is a member of. This can help isolate precedence issues with multiple GPOs.

You will also see if any WMI filters removed any GPOs from applying to the user.

Advanced usage of GPResult

I barely scratched the surface above. There are a good number of command-line switches and parameters you can use to tailor the tool to your needs. I’ll go through the most common ones next.

Common syntax options

GPResult has a healthy parameter list. Before I go into details, here is the overall syntax for the command:

gpresult [/s <system> [/u <username> [/p [<password>]]]] [/user [<targetdomain>\]<targetuser>] [/scope {user | computer}] {/r | /v | /z | [/x | /h] <filename> [/f] | /?}

The h option is a very helpful switch, especially for larger environments. This will output the results in an HTML file to your specified file name.

gpresult /H mreinders_GPO.html
The HTML output of using the GPResult /H command
The HTML output of using the GPResult /H command – Image Credit: Michael Reinders/Petri.com

This allows you to drill down precisely to where you are troubleshooting. Without being flooded with potentially thousands of settings, this format lets you pinpoint the exact section you need – e.g. Computer Configuration, Network/DNS Settings, etc.

gpresult /SCOPE USER /R

The above command allows you to scope the output to only the User Configuration in Group Policy, not Computer settings.

gpresult /S W10-client01

Instead of running the command on your local computer, this allows you to run the command on another (remote) workstation or Windows Server. You can of course specify an IP address of a remote computer, too. You’ll want to make sure appropriate firewall settings are set on the destination desktop to allow the remote connection.

You can also use alternate credentials by using this example command

gpresult /S computername /USER username /U domain\admin_username /P password /R

You can use the ‘/V’ switch to get more verbose policy information. You can also use the ‘/X’ switch to output your report in XML format.

Filtering results of GPResult

Although there are no direct filtering switches with gpresult, you can pipe (|) the output from gpresult and use the ‘findstr’ command to locate specific keywords.

gpresult /R | findstr "Reinders"
Piping the output and using 'findstr' to find a string in the output - similar to 'grep' in Unix
Piping the output and using ‘findstr’ to find a string in the output – similar to ‘grep’ in Unix – Image Credit: Michael Reinders/Petri.com

We can precisely view all the references to “Reinders” from the output. Quick and sneaky, helpful trick.

Analyzing results with reporting

To analyze gpresult results efficiently, you can create reports in both HTML and TXT formats. These will provide detailed insights into Group Policy.

Besides using the ‘/H’ switch to generate HTML, you can quickly output the results of the command by piping it to a TXT file.

gpresult /R > output.txt
Viewing the output in TXT format in Notepad
Viewing the output in TXT format in Notepad – Image Credit: Michael Reinders/Petri.com

Again, very quick and helpful. This lets admins and IT Pros gather all the info into easy-to-view reports, troubleshoot all the data, and then go back to Group Policy Management and make appropriate changes.

Common real-world scenarios

Let me list out some common scenarios and troubleshooting examples you’ll likely encounter when using gpresult.

  • Troubleshooting Login Scripts:
    • Users report that their login scripts are not running as expected. The administrator runs gpresult /H report.html to generate a detailed report and identifies that the login script policy is not applied to specific users due to security filtering.
  • Analyzing Slow Logon Times:
    • Users complain about slow logon times. By reviewing the gpresult report, the admin can pinpoint which GPOs are taking the longest to process and optimize the policy settings.
  • Auditing Security Settings:
    • During a security/compliance audit, an IT manager uses gpresult /SCOPE COMPUTER /Z to check the security settings applied to critical servers and ensure compliance with organizational policies.
  • Checking WMI Filter Application:
    • A GPO with a WMI filter is not applying as expected. By analyzing the gpresult output, the administrator can see if the WMI filter criteria are being met and adjust them if necessary.

RSoP vs GPResult

Let’s break down the differences between GPResult and the Resultant Set of Policy (RSoP).

The Resultant Set of Policy (RSoP) is a planning and troubleshooting tool that returns RSoP data used to determine which Group Policy settings apply to a user or computer. There are two modes:

  1. Logging
  2. Planning

The tool is accessed either in the Group Policy Management Console (GPMC) or the RSoP MMC Snap-In.

On the other hand, GPResult is a command-line tool that provides similar output, in text-based fashion, using Group Policy to simulate results. You access the command in Command Prompt, PowerShell, or Windows Terminal.

The main differences include text-based vs graphical applications, and the primary purpose. GPResult is primarily used for troubleshooting whereas the RSoP can be used in more simulations and planning of your overall Group Policy design.

Overview of GPResult command

GPResult shows whether settings in a Group Policy Object (GPO) that’s linked to an Active Directory Organizational Unit (OU) have been applied. The GPResult.exe command is a powerful tool in Windows used for troubleshooting Group Policy settings and deployment. 

GPResult conveniently allows admins to display the Resultant Set of Policy (RSoP) information for a specific user or computer, and even a remote system. Give it an AD username, and it will essentially ‘process’ Group Policy in real-time and show you the output of what GPOs would apply, which would be blocked, and all the settings to be applied to that user.

You can even include a specific computer object to fine-tune the results from a user logging into a particular computer. VERY proactive helpful tool on an IT Pro’s toolbelt.

What role does GPResult offer for troubleshooting?

The GPResult command plays a crucial role in troubleshooting Group Policy by providing fast, detailed reporting including the insights into the application of policies for a specific user or computer.

It helps administrators verify which policies will apply, identify potential conflicts between GPOs, and understand why certain settings will or will not apply. Running this command against a good number of test users/computers allows you to proactively design your GP infrastructure without having to visit each computer and log in as some user.

Best practices for using GPResult

First, always run the tool in an administrative context. Open your favorite shell (Windows Terminal) with admin rights.

Besides the other tips and tricks I’ve noted throughout this article, you can also benefit from these topics.

  • Check Both User and Computer Policies:
    • Ensure you review both user and computer policies, as issues can arise from either. Use the /SCOPE option to specify one for more efficient troubleshooting.
  • Proactive – Regularly Review Reports:
    • Regularly generate and review gpresult reports to proactively identify and address potential issues before they impact users.
  • Combine with Other Tools:
    • Use gpresult in conjunction with other tools like the Group Policy Management Console (GPMC) and Resultant Set of Policy (RSoP) for a more holistic view of policy application and troubleshooting.

Thank you for reading my article on using GPResult to troubleshoot Group Policy. Feel free to leave a comment or question right below.

SHARE ARTICLE