How to view Group Policy results using gpresult

Last updated on:

The gpresult command is a built-in Windows diagnostic tool that displays the Resultant Set of Policy (RSoP), the actual Group Policy settings currently applied to a specific user or computer. System administrators often use it to verify if Group Policy Objects (GPOs) are applied correctly, troubleshoot policy conflicts, audit security settings, and confirm policy compliance across domain-joined machines.

  • gpresult
  • GPMC
  • rsop.msc
  • ADManager Plus
  • Troubleshooting tips
  • Why ADManager Plus?
  • FAQs
 

What is the gpresult command?

The gpresult command displays the RSoP report, a snapshot of all Group Policy settings that were applied to a user or computer the last time a Group Policy was processed. It shows which GPOs were applied, which were filtered or denied, and the precedence order to resolve conflicts.

RSoP works in two modes:

  • Logging mode: Reports the policy settings that were actually applied the last time Group Policy ran on the machine.
  • Planning mode: Simulates what policies would apply to a user or computer under hypothetical conditions, such as a different OU, different security group membership, or different site. This mode is available through the GPMC's Group Policy Modeling Wizard, not gpresult.

gpresult syntax and parameters

Here's the syntax for the gpresult cmdlet:

gpresult [/s <Computer>] [/u <Domain\User>] [/p <Password>]
Parameter Description
/r Displays a summary of RSoP data, including applied GPO names, OU path, domain information, and group memberships. This is the most commonly used flag for day-to-day policy verification.
/v Adds registry key paths, logon script filenames, last script execution times, and additional policy setting details beyond the /r parameter. This is helpful in tracing where a setting comes from.
/z Displays everything the /v parameter shows along with all the GPOs that have the setting configured, including GPOs that were applied with lower precedence and GPOs that were denied.
/h <filename> Exports the RSoP report to an HTML file. The filename parameter specifies the output path and if no path is given, the file saves to the current working directory.
/x <filename> Exports the RSoP report to an XML file. This is useful for parsing policy data programmatically or storing results in a SQL database.
/f Forces gpresult to overwrite an existing output file. Without the /f parameter, the command returns an error if the specified filename already exists.
/s <computer> Specifies a remote computer name or IP address to query.
/u <Domain\User> Runs the command under the credentials of the specified user account. This is used with the /s parameter to authenticate against a remote machine when the current session does not have access.
/p <Password> This is the password for the /u user account. If the /p parameter is omitted when /u is specified, gpresult prompts for the password interactively.
/user <TargetUser> Specifies the domain user whose RSoP data you would like to verify. This is useful in targeting query policies for a user other than the currently logged-on account.
/scope {user | computer} Limits the output to either user-scoped or computer-scoped policy settings.

How to run gpresult

To run the gpresult command:

  1. Open Command Prompt as an administrator.
  2. Type your gpresult command with the desired parameters and press Enter.
  3. Review the output, or open the exported HTML or XML report in a browser.
    gpresult /r
gpresult /r output on a DC showing applied GPOs and security groups

Using gpresult /scope computer

The /scope computer parameter filters output to show the policies under Computer Configuration, such as password policies, software deployments, and security settings that apply regardless of who is logged on. Unlike /scope user, it always requires an elevated Command Prompt. The output includes the machine's OS configuration and AD site, whether a slow link was detected during the last refresh, the timestamp and domain controller (DC) of the last successful computer policy refresh, applied GPOs in precedence order, and any filtered GPOs.

gpresult /r /scope computer output showing computer-only GPO results on a DC

Understanding gpresult output: /r vs. /v vs. /z

Choosing the right parameter is important as each returns a different level of detail. Here is what each flag provides and when to use it:

gpresult /r for RSoP summary

gpresult /r is the standard starting point for most policy verification tasks. When run as administrator, it returns two sections:

  • Computer Configuration: Displays the computer's OU path, the domain name, the last Group Policy processing time, and the list of applied GPOs.
  • User Configuration: Displays the user's OU path, security group memberships, and the list of applied GPOs under User Configuration. GPOs excluded by security filtering or WMI filtering appear in a separate Denied GPOs section.

gpresult /v for verbose mode

gpresult /v adds a significant amount of extra detail over the /r parameter. In addition to everything /r returns, /v includes:

  • The registry key path where each policy setting is stored (e.g., HKLM\Software\Policies\...)
  • Logon and logoff script filenames and the last time each script executed
  • Folder redirection settings with the target paths
  • Software installation policy details
  • Additional administrative template settings with their configured values

gpresult /z for super-verbose mode

When multiple GPOs configure the same setting, Windows applies them in LSDOU order with each level overriding the one before it. A GPO linked to a child OU therefore takes precedence over a conflicting setting at the domain level. Within the same container, link order determines the winner.

gpresult /r shows which GPOs were applied but not which one enforced a specific setting. To understand precedence, you can use the /z parameter. It returns everything /v shows, along with:

  • All GPOs that have a particular setting configured, including those that were overridden by higher-precedence GPOs
  • Precedence values for each conflicting policy setting, showing exactly which GPO won and why

Exporting gpresult output to HTML, XML, and text files

Export to HTML with gpresult /h

The /h parameter saves the RSoP report as an HTML file that can be opened in any browser. It produces a well-formatted and color-coded report that is far easier to read than the console output, especially for storing as a compliance record. Use the following command to export it:

gpresult /h gpreport.html

Where does gpresult /h save the file?

To save the file in a specific path, use the following command:

gpresult /h C:\Reports\gposopreport.html

If the file already exists and you want to overwrite it, add the /f flag:

gpresult /h C:\Reports\gprsopreport.html /f

To open the report, navigate to the saved path in File Explorer and double-click the file, or open it directly from the command line:

start C:\Reports\gprsopreport.html
gpresult /h generating an HTML report showing Group Policy Results summary

Export to XML with gpresult /x

The /x parameter generates an XML version of the same RSoP data. This is useful when you want to parse policy results programmatically.

gpresult /x C:\Reports\gprsopreport.xml
gpresult /x generating an XML report showing raw RSOP data structure

Export to a text file

For simple text output, redirect the console output to a file using the > operator. This works with any gpresult flag:

gpresult /v > C:\Reports\policy.txt

The > operator creates the file if it does not exist and overwrites it if it does. Use >> to append to an existing file instead of overwriting.

gpresult /v output redirected to a text file showing verbose RSOP data

Example scripts and use cases

Example 1: Check only user policy settings

gpresult /r /scope user

Example 2: Check only computer policy settings

gpresult /r /scope computer

Example 3: Verify if GPOs are applied to a specific user

gpresult /r /user DOMAIN\john

Example 4: Running gpresult on a remote computer

gpresult /s PC-234 /r

Example 5: Filtering output with findstr

gpresult output can run to hundreds of lines. Piping it through findstr lets you isolate exactly what you are looking for without scrolling through the full result.

gpresult /r | findstr /i "denied" # show only filtered or denied GPOs

Example 6: Refreshing policy before running gpresult

If you want to verify the effect of a policy change you just made, force a refresh first so gpresult reflects the latest state rather than the previous cycle.

gpupdate /force && gpresult /r

The difference between gpresult, RSoP, and Get-GPResultantSetOfPolicy

What is RSoP?

RSoP is the Group Policy framework that computes and records the final set of policy settings applied to a user or computer after all inheritance, precedence, filtering, and enforcement rules have been evaluated. Every time Group Policy is processed on a Windows machine, the RSoP provider logs the outcome in WMI. The gpresult command queries that WMI log and presents the data in a readable format.

Get-GPResultantSetOfPolicy

Windows PowerShell includes the Get-GPResultantSetOfPolicy cmdlet, which produces the same RSoP data as gpresult /h or gpresult /x but in PowerShell. It is particularly useful in automation and scripting contexts.

To generate the RSoP report using PowerShell:

Get-GPResultantSetOfPolicy -ReportType HTML -Path C:\Reports\RSoP.html
Get-GPResultantSetOfPolicy cmdlet generating an HTML report in PowerShell with LoggingMode output

Key use cases for the gpresult command

Here are some key use cases for the gpresult command:

  • Verifying a newly deployed GPO: After linking a new GPO to an OU, gpresult /r confirms whether the policy has reached the target machine and appears in the Applied GPOs list.
  • Troubleshooting a setting that isn't working: When a policy setting is configured in a GPO but not taking effect on a machine, gpresult /z shows every GPO that touched that setting and which is applied.
  • Diagnosing a user who isn't receiving a software deployment or login script: The /r parameter shows the user-scoped GPOs applied during last logon, including whether the software installation or logon script policy is present, filtered, or absent entirely. The /v flag adds the script filename and the last time it executed.
  • Conducting a compliance audit before a security review: Generating an HTML report with every policy setting in effect on a machine at a point in time can help demonstrate that password policies, account lockout settings, and security baselines are actively enforced.

How to generate a Group Policy results report using the GPMC

The Group Policy Management Console (GPMC) includes a built-in Group Policy Results Wizard that produces the same RSoP data as gpresult but in a graphical HTML report, with a Settings tab showing the final GPO for each individual policy setting and a Policy Events tab listing all related event log entries.

To generate the report:

  1. Press Win + R, type gpmc.msc, and press Enter.
  2. In the left console tree, expand your forest and domain, then right-click Group Policy Results and select Group Policy Results Wizard.
  3. Click Next on the welcome screen.
  4. On the Computer Selection screen:
    • Select This computer to run the report locally.
    • Select Another computer, type the computer name or click Browse to locate it, then click Next.
  5. On the User Selection screen:
    • Select Current user to report on the currently logged-on user.
    • Select Select a specific user and choose from the list of users who have previously logged on to that computer.
    • Select Do not display user policy settings to generate a computer-specific report.
    • Click Next.
  6. Review the Summary of Selections screen and click Next to run the query. The GPMC connects to the target machine, retrieves RSoP data via WMI, and generates the report.
  7. Click Finish.
Group Policy Results Wizard in GPMC showing summary of selections for user and computer policy settings

How to view Group Policy results using rsop.msc

rsop.msc is a built-in MMC snap-in that displays applied Group Policy settings in a graphical tree view, similar to the Local Group Policy Editor. It is the quickest way to get a visual overview of applied policies without generating a report file or using the command line.

However, rsop.msc does not show all Microsoft Group Policy settings, and it only displays settings that were applied through client-side extensions that support RSoP logging. For a complete picture, use gpresult /h or the Group Policy Results Wizard instead.

To view the RSoP:

  1. Press Win + R, type rsop.msc, and press Enter.
  2. If prompted by UAC, click Yes.
  3. The RSoP snap-in opens and automatically runs a scan of the current user and computer policy.
  4. The left pane displays a tree structure identical to the Group Policy Editor.
  5. Expand any node to browse applied settings.
  6. To see which GPO applied a specific setting, right-click it and select Properties. The Precedence tab lists every GPO that configured that setting, in order of precedence, with the winning GPO at the top.
RSoP MMC snap-in showing the Computer Configuration of a Group Policy

To view the Group Policy results for a different user or computer, use the stand-alone wizard instead:

  1. Press Win + R, type mmc, and press Enter.
  2. Go to File > Add/Remove Snap-in.
  3. Select Resultant Set of Policy from the list and click Add, then OK.
  4. In the left pane, right-click Resultant Set of Policy and select Generate RSoP Data.
  5. In the RSoP Wizard, select Logging mode and click Next.
  6. Choose Another computer and enter the computer name, or select This computer and click Next.
  7. Select Current user or Select a specific user from the list of users who have previously logged on and click Next.
  8. Review the summary and click Next to generate the report, and then click Finish.

How to generate the Resultant Set of Policy report in ADManager Plus

Here's how you can generate this report in ADManager Plus:

  1. Log in to ADManager Plus and navigate to the Reports tab.
  2. In the left pane, click GPO Reports > GPO Settings Reports > Resultant Set of Policy.
  3. Select the desired domain, then choose the computer or user whose Group Policy settings you want to view.
  4. Check Display Computer Settings and/or Display User Settings based on the object selected.
  5. Click Generate. A list of all applied policies will be displayed.

Troubleshooting tips

  • Error: Access denied

    Cause: This error occurs when the gpresult command is run without administrative privileges. Without administrator privileges, Windows restricts the RSoP query to user-scoped policy data and blocks access to computer-scoped settings. This also occurs when saving an HTML report to a path the session has no write permission to or when a remote query uses an account that is not a local administrator on the target machine.

    To fix this error:

    • Run an elevated Command Prompt and execute gpresult /r again.
    • When saving HTML reports to restricted paths, specify a writable location.
      gpresult /h C:\Users\Personal\gpreport.html.
    • For remote queries, ensure the account used with the /u parameter is a member of the local administrators group on the remote machine.
  • Error: INFO: The user does not have RSOP data.

    Cause: Running gpresult from a non-elevated Command Prompt returns only user-scoped settings and Windows does not expose computer-scoped RSoP to standard sessions. A secondary cause is running the command with a different admin account than the logged-on user; in that case, gpresult queries the elevated account's context, not the standard user's, and returns the message.

    To fix this error:

    • Re-run the command from an elevated Command Prompt. Add /user DOMAIN\targetuser to query the correct user's policy context.
      gpresult /r /user DOMAIN\john
    • If computer settings are still not fetched after elevation, the machine may not have reached a DC during the last refresh. Run gpupdate /force, then retry.
  • Error: The expected GPO simply does not appear under the Applied GPOs list in gpresult /r output.

    Cause: The GPO may not be linked to the correct OU, is excluded by security filtering or a WMI filter, may have its link disabled, or is blocked by inheritance.

    To fix this error:

    • Run gpresult /z to reveal all GPOs evaluated including denied ones.
    • Check the GPO's Delegation tab in the GPMC to confirm the target user or computer has Read and Apply Group Policy permissions.
    • Verify if the GPO link is enabled and is linked to the correct OU.

Simplify Group Policy management with ADManager Plus

While the gpresult command is effective for single machines, it has limitations at scale. It queries one computer at a time; provides no historical data; and cannot create, link, or migrate GPOs. ADManager Plus addresses all of these through its GPO management and reporting capabilities without requiring PowerShell or command-line access.

Here's how you can manage and report on your GPOs with ADManager Plus:

  • Manage GPOs: Enable, disable, or delete GPOs; manage GPO links; copy GPOs; and edit GPO settings.
  • Migrate GPOs: Seamlessly migrate GPOs across forests in your Active Directory domains.
  • Enforce GPOs: Modify enforcement options for GPO links, and block or unblock the inheritance of GPO links.
  • Update GPOs: Force-update GPOs in the click of a button.
  • GPO reports: Identify recently modified GPOs and linked Active Directory objects, compare GPOs and their settings, and more.

FAQ

rsop.msc is the MMC snap-in that provides a graphical view of the same policy data that gpresult displays in the command line. It is available on all domain-joined Windows machines by pressing Win + R and typing rsop.msc. However, it cannot query remote machines and does not support scripting. For troubleshooting and automation, gpresult is the more capable tool.

By default, gpresult /h saves the HTML report in the directory that Command Prompt or PowerShell is open in when you run the command. To confirm this before running, type echo %cd%. To save to a specific location, provide a full path:

gpresult /h C:\Reports\gpreport.html

gpresult /r returns a summary showing applied GPOs, including GPO names, OU paths, and group memberships, which is sufficient for confirming that a policy is applied. gpresult /v adds the registry key path for each policy setting, logon script filenames, and last script execution times and helps understand where a specific setting is coming from.

gpresult is most commonly used by administrators to:

  • Verify if a newly deployed GPO is actually applying to a target computer or user.
  • Troubleshoot policy conflicts when a setting is not behaving as expected.
  • Confirm that a user or machine is in the correct OU and inheriting the right policies.
  • Audit security settings before or during a compliance review.
  • Diagnose why a specific application or setting is missing after a Group Policy change.

gpresult displays the results of the last Group Policy processing cycle and which policies were applied. gpupdate forces Windows to immediately reapply Group Policies from the DC. gpresult is useful in diagnosing which Group Policies were applied, while gpupdate /force is useful in pushing a new policy change to a machine without waiting for the next automatic refresh interval.

The gpresult command is available on all major Windows versions from Windows XP onwards. It comes as a built-in tool on Windows 10, Windows 11, and all Windows Server editions from 2003 through 2025, with no additional installation required.

On ARM64 Windows 11 devices, the /h parameter does not work with the default gpresult.exe. You can use C:\Windows\SysWow64\gpresult.exe /h report.html instead.

Use the /user parameter followed by the target username to run gpresult as another user. Ensure that the user has logged on to the machine at least once for RSoP data to exist. Use the following command:

gpresult /r /user DOMAIN\john

To query a different user on a remote machine, combine the /s and /user parameters:

gpresult /s CORP-PC-01 /user DOMAIN\johndoe /r

Running gpresult /r without elevation returns user-scoped policy settings for the current user and requires no special rights. Querying computer-scoped settings, either with /scope computer or the full /r output requires an elevated Command Prompt.

You need either local administrator rights on the remote machine, or the Remotely access Group Policy Results data permission on the domain or OU containing the target computer.

Take the complexity out of GPO management using ADManager Plus

The one-stop solution to Active Directory Management and Reporting
Email Download Link Email the ADManager Plus download link