PowerShell’s Out-GridView Cmdlet

PowerShell Out-GridView – New in Version 2.0PowerShell Out-GridView

Out-GridView provides a better way for PowerShell to present tabulated information.  It works particularly well for displaying data returned by Get-Service or Get-Process.

Topics for PowerShell Out-GridView

 ♣

Introduction to Out-GridView

If you have not seen Out-GridView before it could be because this is a new cmdlet in PowerShell Version 2.0. As with any new cmdlet, before we put Out-GridView to work it’s worth calling for help so that we can check the syntax and seek out interesting parameters.

Get-Help Out-GridView -full

Note 1:  Because I want to see examples, I rarely use Get-Help without appending the -full switch.  In this case help alerted me to sorting the columns by simply double-clicking their heading.  In addition, it was only by reading the help file that I realized the benefit of using the ‘Search’ box as a filter.

Note 2:  The only problem I have encountered with Out-GridView is spelling the noun.  Grid View is wrong, and omitting View is another fatal sin, Out-Grid does not work.  Remember it’s one word, gridview as in Out-GridView.

Example 1: Out-GridView and Get-Service

# PowerShell Out-GridView Example
Clear-Host
Get-Service | Out-GridView

Note 1:  Please remember the pipe (|), especially when you get too ambitious, and something goes wrong with your complex experiment.

Note 2:  You can also copy the data displayed by Out-GridView and paste it into Excel.  Numeric data often benefits from further manipulation by the spreadsheets functions.  I find that the old keyboard shortcuts such as Ctrl + a are handy for selecting all the rows.

Guy Recommends: Free WMI Monitor for PowerShellSolarwinds Free WMI Monitor for PowerShell

Windows Management Instrumentation (WMI) is one of the hidden treasures of Microsoft’s operating systems.  Fortunately, SolarWinds have created a Free WMI Monitor so that you can discover these gems of performance information, and thus improve your PowerShell scripts.

Take the guess work out of which WMI counters to use when scripting the operating system, Active Directory, or Exchange Server. Give this WMI monitor a try – it’s free.

Download your free copy of WMI Monitor

Example 2: Out-GridView and Get-Process

This example illustrates the benefits of adding extra PowerShell code in order to control the headings.  For example, we want the name of each process in the first column.

# PowerShell Out-GridView in action
Clear-Host
Get-Process | select-Object -property name, workingSet, peakWorkingSet | Out-GridView

PowerShell Out-GridView

Note 1:  Remember that you can sort on any of the columns simply by double-clicking.

Note 2:  It surprised me to discover that you can also drag and drop the columns to re-order the data.  Resizing the columns works intuitively, just like Excel.PowerShell Out-GridView

Note 3:  Out-GridView has a search box that you don’t normally get with Get-Process.  One use of this Search capability is to filter the data.

Example 3: Out-GridView Show in Groups

Another surprising feature of Out-GridView is how we can group items.  For example, with Get-Service you can aggregate the services that are stopped.  Just right-click on the heading and see if it supports ‘Show in Groups’.  See screenshot to the right.  All in all, Out-Grid means that you can manipulate data quickly on the fly, this saves having to revisit the code and changing the properties or adjusting the grouping syntax.

Guy Recommends:  A Free Trial of the Network Performance Monitor (NPM)Review of Orion NPM v11.5 v11.5

SolarWinds’ Network Performance Monitor will help you discover what’s happening on your network.  This utility will also guide you through troubleshooting; the dashboard will indicate whether the root cause is a broken link, faulty equipment or resource overload.

What I like best is the way NPM suggests solutions to network problems.  Its also has the ability to monitor the health of individual VMware virtual machines.  If you are interested in troubleshooting, and creating network maps, then I recommend that you try NPM now.

Download a free trial of Solarwinds’ Network Performance Monitor

Example 4: Import XML Files

One more pleasant revelation, if you import an XML file then you can improve the way the data displays by piping its contents into Out-GridView.  Assuming you have a suitable xml file called services.xml, try this:

Import-CliXML C:\PShell\services.xml | Out-GridView

Note 1:  I don’t want you to go away thinking that Out-GridView is only suitable for Get-Service, it’s just that all Windows computers have services, and their data shows off this display cmdlet in it’s best light. 

Footnote: In PowerShell 3.0 Out-GridView supports the -PassThru parameter.

Other Members of the ‘Output’ Family

While Out-GridView is easy to understand, it maybe that you already know other members of the ‘Output’ family of cmdlets.  My point is that if you have already used Out-File then you will know what to expect from Out-GridView.  On the other hand, if this is all new territory, then you can apply knowledge of Out-GridView to Out-Printer.

Get-Command -verb out 

Results:

Out-Default
Out-File
Out-GridView
Out-Host
Out-Null
Out-Printer
Out-String

See also Tee-Object redirection ยป

 

Summary of PowerShell’s Out-GridView Cmdlet

PowerShell v 2.0 has a lovely new cmdlet called Out-GridView, what this does is take the output from another command and present it in a new window where the data is displayed in an interactive table.  Take the time to research the ‘Search’ box and discover how to ‘Show in Groups’.

If you like this page then please share it with your friends

 


See more Microsoft PowerShell output tutorials:

PShell Home   • Out-File   • Out-GridView   • ConvertTo-Csv   • ConvertTo-Html   • ConvertFrom-Csv

Tee-Object   • Import-CSV   • Format-Table   • PowerShell Here-String  • ConvertFrom-JSON

Export-CliXml   • Format-List   • Read-Host    • PowerShell Get-History   • -f format   • Pipe to file

Please email me if you have a better example script. Also please report any factual mistakes, grammatical errors or broken links, I will be happy to correct the fault.