Gets the formatting data in the current session.


Get-FormatData [[-TypeName] <string[]>] [<CommonParameters>]


The Get-FormatData cmdlet gets the formatting data in the current session.

The formatting data in the session includes formatting data from Format.ps1xml formatting files (such as those in the $pshome directory), formatting data for modules that you import into the session, and formatting data for commands that you import into your session by using the Import-PSSession cmdlet.

You can use this cmdlet to examine the formatting data. Then, you can use the Export-FormatData cmdlet to serialize the objects (convert them to XML) and save them in Format.ps1xml files.

For more information about formatting files in Windows PowerShell, see about_Format.ps1xml.


-TypeName <string[]>

Gets only the formatting data with the specified type names. Enter the type names. Wildcards are permitted.





Default Value


Accept Pipeline Input?


Accept Wildcard Characters?



This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see about_CommonParameters.

Inputs and Outputs

The input type is the type of the objects that you can pipe to the cmdlet. The return type is the type of the objects that the cmdlet returns.



You cannot pipe input to this cmdlet.



Example 1


This command gets all the formatting data in the session.

Example 2

C:\PS>get-formatdata -typename Microsoft.Wsman*

This command gets the formatting data items whose names begin with "Microsoft.Wsman".

Example 3

C:\PS>$f = get-formatdata -typename helpinfoshort

C:\PS> $f 

TypeName		FormatViewDefinition
--------		--------------------
HelpInfoShort   {help , TableControl}

C:\PS> $f.FormatViewDefinition[0].control

Headers																	Rows
-------																	----
{System.Management.Automation.TableControlColumnHeader, System.Manageme... {System.Management.Automation.TableControlRow}

C:\PS> $f.FormatViewDefinition[0].control.headers

Label		 Alignment	Width
-----		 ---------	-----
Name		Left		 33
Category	Left		 9
			Undefined	0

This example shows how to get a formatting data object and examine its properties.

Example 4

C:\PS>$a = get-formatdata

C:\PS> import-module bitstransfer
C:\PS> $b = get-formatdata
C:\PS> compare-object $a $b

InputObject												SideIndicator
-----------												-------------
Microsoft.BackgroundIntelligentTransfer.Management.BitsJob =>

C:\PS> get-formatdata *bits* | export-formatdata -filepath c:\test\bits.format.ps1xml

C:\PS> get-content c:\test\bits.format.ps1xml

<?xml version="1.0" encoding="utf-8"?><Configuration><ViewDefinitions>

This example shows how to use Get-FormatData and Export-FormatData to export the formatting data that is added by a module.

The first four commands use the Get-FormatData, Import-Module, and Compare-Object cmdlets to identify the format type that the BitsTransfer module adds to the session.

The fifth command uses the Get-FormatData cmdlet to get the format type that the BitsTransfer module adds. It uses a pipeline operator (|) to send the format type object to the Export-FormatData cmdlet, which converts it back to XML and saves it in the specified format.ps1xml file. 

The final command shows an excerpt of the format.ps1xml file content.

See Also