Did you see our first coffee break about piping at Windows PowerShell and Piping? Let's dig a bit further.
Coffee Break 6 - Return to piping
This time we will use more piping and other ways to look at a PowerShell object and format it in different ways. For the example here we will use Get-NAVServerInstance and the results from that cmdlet. But everything in this post would apply in the same way on other cmdlets, like
Change how data is displayed
Import the NAV management module so we can use the NAV cmdlets
import-module 'C:\Program Files\Microsoft Dynamics NAV\80\Service\Microsoft.Dynamics.Nav.Management.dll'
Run the following commands and check how the result differs:
Get-NAVServerInstance | Format-Table
Get-NAVServerInstance | Format-Table -AutoSize
Select which columns to return
Get-NAVServerInstance | Select-Object ServerInstance, State
But... How do you know which columns are available? Simply pipe the cmdlet into Get-Member:
Get-NavServerInstance | Get-Member
This shows you a list of members, including these properties
The most usual formats are list and table. Confusingly to a Dynamics NAV person, Format-List is like a card display, and Format-Table is just like a list. Run these to see the difference:
Get-NAVServerInstance | Select-Object ServerInstance, State | Format-List
Get-NAVServerInstance | Select-Object ServerInstance, State | Format-Table
Some of the most useful other formats (to replace the last bit of the pipe above):
Export-Csv -Path c:\x\servers.txt
Especially Clip is very useful - it sends the result directly to your clipboard so you can paste it into Notepad or somewhere else.
Note that formatting pipes may destroy the object in order to display it, so always do the formatting as the last part of a pipe. Except if you want to follow it by an Out-cmdlet.
Jasminka Thunes, Escalation Engineer Dynamics NAV EMEA
Lars Lohndorf-Larsen, Escalation Engineer Dynamics NAV EMEA
Bas Graaf, Senior Software Engineer Dynamics NAV