Skip to main content
PDQ.com mobilePDQ.com desktop
Support

What’s The GPResult cmd Equivalent In PowerShell

Brock BinghamBrock Bingham
·

If you’re anything like me, you’ve been reluctant to stop using CMD and start using PowerShell.  I’m envious of those sysadmins who realized PowerShell’s worth, immediately adopted it, and started learning how to utilize its capabilities.  Kind of like how I’m jealous of those who bought into Bitcoin when it was super cheap.  Well, I’m here to tell you that you’re not too late to jump on the PowerShell bandwagon.  PowerShell is only going to become more prevalent, and if you look at the job market, it’s already a highly requested skillset, if not mandatory in a lot of cases.

Table Of Contents

Now that I’ve hopefully got you motivated to start venturing into the world of PowerShell, let’s focus on taking the common CMD commands we know and love and learn how to apply them in PowerShell.  If the title wasn’t enough of a giveaway, we’re going to take a look at the command GPResult and learn what the equivalent cmdlet is in PowerShell.  Before we dive into PowerShell, let’s go over what GPResult does.

GPResult is a command-line utility used to display the applied group policy of a user and computer.  This command can be run locally or against a remote host.  The Resultant Set of Policy (RSoP) information can be saved as an Html or an Xml file.  The data can be useful for troubleshooting user and computer group policy assignments.  Now that we know what GPResult does let’s dive into the PowerShell equivalent.

The PowerShell Equivalent of GPUpdate is Get-GPResultantSetOfPolicy

NAME
    Get-GPResultantSetOfPolicy

SYNOPSIS
    Gets and writes the RSoP information for a user, a computer, or both to a file.

SYNTAX
    Get-GPResultantSetOfPolicy [-Computer <String>] [-User <String>] -Path <String> -ReportType {Xml | Html} [<CommonParameters>]

DESCRIPTION
    The Get-GPResultantSetofPolicy cmdlet gets and writes the Resultant Set of Policy (RSoP) information for a user, a computer, or both to a file.

NOTE

If you get an error when you try to run Invoke-GPUpdate, make sure you are running PowerShell as an administrator.  Most commands in PowerShell require administrative privileges to run.

Examples of Get-GPResultantSetOfPolicy

Now that we know the proper PowerShell command for GPUpdate let’s look at a few examples of how to use it.  If you’re new to PowerShell, let me give you a quick tip that will save you some time and a headache or two.  There is a feature called tab completion in PowerShell that will finish inputting your command if you hit the Tab key on your keyboard after typing in the first few letters.  Since Get-GPResultantSetOfPolicy is a considerably longer command than GPResult, do yourself a favor and use the tab completion feature in PowerShell by typing in Get-GPRes and hitting the Tab key on your keyboard to auto-complete the command.  If you type in fewer characters and tab completion doesn’t give you the correct command, just keep hitting Tab, and PowerShell will cycle through all of the possible command options based on what you’ve entered so far.

Get-GPResultantSetOfPolicy Example 1:

Get-GPRsultantSetOfPolicy -ReportType Html -Path “c:\report.html”

This cmdlet is comparable to the typical ‘gpresult /h “c:\report.html”’ command.  It will gather information on the applied group policies for the local user and local computer and save the RSoP data to an Html file.


Get-GPResultantSetOfPolicy Example 2:

Get-GPResultantSetOfPolicy -User "user" -Computer "computer" -ReportType Html -Path "c:\remotereport.html"

This example is similar to the first example, except it targets a specific user on a remote computer.  You can verify the user and computer in the generated report.


Get-GPResultantSetOfPolicy Example 3:

$list =  "computer1", "computer2"
Foreach ($Machine in $list){
    Get-GPResultantSetOfPolicy -Computer $Machine -ReportType Xml -Path “c:\Group_Policy_Reports\$($Machine)_$(get-date -f MM-dd-yyyy).Xml”
}

In this example, we are using a Foreach loop to run the Get-GPResultantSetOfPolicy command against multiple computers.  The $list variable contains the computer names we want to run the command against.  $Machine is a placeholder variable that will represent the current item from the list.  $Machine will take a value from the $list variable and hold onto it while running through the loop.  Once the loop has finished, $Machine will be assigned the next value from the $list variable.  The line “c:\Group_Policy_Reports\$($Machine)_$(get-date -f MM-dd-yyyy).Xml” instructs PowerShell to save the file using the computer name followed by the date in a folder called “Group_Policy_Reports.”  The resulting files should look like this.

Wrapping Up

If you haven’t started learning PowerShell yet, now’s the time.  These examples don’t even scratch the surface of what’s possible.  With PowerShell, you can automate many of the mundane administrative tasks you spend way too much time manually performing.  When I compare PowerShell to CMD, I can’t help but think of the song “Anything You Can Do (I Can Do Better).”

Are you interested in taking your PowerShell game to the next level?  Subscribe to the PDQ Blog.  With many useful PowerShell guides already available, we will continue to provide a constant stream of new PowerShell content to help you get caught up to that overachieving coworker who’s been reading PowerShell books since 2006.

If YouTube tutorials are more your thing, check out our PowerShell playlist.  Sit back and relax as Jordan’s smooth baritone vocals guide you through increasingly complex PowerShell lessons.  With help from PDQ.com, you’ll be a PowerShell pro in no time!

Ready to get started with PDQ Deploy & Inventory? Work less, automate more.

Start your 14-day free trial
Sign up in seconds

Don't miss the next post!

Advanced Filtering - Webcast Transcript

Stay with me on this. Alright. First, let's just do some basics. So we're all on the same page, how do you find data in PDQ inventory

webcast
PDQ.com
© 2021 PDQ.com Corporation

Products

  • PDQ Deploy ®
  • PDQ Inventory ®
  • Enterprise SL
  • Pricing
  • Downloads
  • Licensing
  • Buy