Get-Format
Data
Syntax
Get-FormatData
[[-TypeName] <String[]>]
[-PowerShellVersion <Version>]
[<CommonParameters>]
Description
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.
Examples
Example 1: Get all formatting data
PS C:\> Get-FormatData
This command gets all the formatting data in the session.
Example 2: Get formatting data by type name
PS C:\> Get-FormatData -TypeName 'System.Management.Automation.Cmd*'
This command gets the formatting data items whose names begin with System.Management.Automation.Cmd*.
Example 3: Examine a formatting data object
PS C:\> $F = Get-FormatData -TypeName 'System.Management.Automation.Cmd*'
PS C:\> $F
TypeName FormatViewDefinition
-------- --------------------
HelpInfoShort {help , TableControl}
PS C:\> $F.FormatViewDefinition[0].control
Headers : {System.Management.Automation.TableControlColumnHeader, System.Management.Automation.TableControlColumnHeader, System.Management.Automation.TableControlColumnHeader,
System.Management.Automation.TableControlColumnHeader}
Rows : {System.Management.Automation.TableControlRow}
AutoSize : False
HideTableHeaders : False
GroupBy :
OutOfBand : False
PS C:\> $F.FormatViewDefinition[0].control.Headers
Label Alignment Width
----- --------- -----
CommandType Undefined 15
Name Undefined 50
Version Undefined 10
Source Undefined 0
This example shows how to get a formatting data object and examine its properties.
Example 4: Get formatting data and export it
PS C:\> $A = Get-FormatData
PS C:\> Import-Module bitstransfer
PS C:\> $B = Get-FormatData
PS C:\> Compare-Object $A $B
InputObject SideIndicator
----------- -------------
Microsoft.BackgroundIntelligentTransfer.Management.BitsJob => PS C:\> Get-FormatData *bits* | Export-FormatData -FilePath c:\test\bits.format.ps1xml
PS C:\> Get-Content c:\test\bits.format.ps1xml
<?xml version="1.0" encoding="utf-8"?><Configuration><ViewDefinitions>
<View><Name>Microsoft.BackgroundIntelligentTransfer.Management.BitsJob</Name>
...
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.
Example 5: Get formatting data based on the specified version of PowerShell
PS C:\> Get-FormatData -TypeName 'Microsoft.Powershell.Utility.FileHash' -PowerShellVersion 1.0
TypeNames FormatViewDefinition
--------- --------------------
{Microsoft.Powershell.Utility.FileHash} {Microsoft.Powershell.Utility.FileHash}
PS C:\> Get-FormatData -TypeName 'Microsoft.Powershell.Utility.FileHash' -PowerShellVersion 2.0
TypeNames FormatViewDefinition
--------- --------------------
{Microsoft.Powershell.Utility.FileHash} {Microsoft.Powershell.Utility.FileHash}
PS C:\> Get-FormatData -TypeName 'Microsoft.Powershell.Utility.FileHash' -PowerShellVersion 3.0
TypeNames FormatViewDefinition
--------- --------------------
{Microsoft.Powershell.Utility.FileHash} {Microsoft.Powershell.Utility.FileHash}
PS C:\> Get-FormatData -TypeName 'Microsoft.Powershell.Utility.FileHash' -PowerShellVersion 4.0
TypeNames FormatViewDefinition
--------- --------------------
{Microsoft.Powershell.Utility.FileHash} {Microsoft.Powershell.Utility.FileHash}
PS C:\> Get-FormatData -TypeName 'Microsoft.Powershell.Utility.FileHash' -PowerShellVersion 5.0
TypeNames FormatViewDefinition
--------- --------------------
{Microsoft.Powershell.Utility.FileHash} {Microsoft.Powershell.Utility.FileHash}
PS C:\> Get-FormatData -TypeName 'Microsoft.Powershell.Utility.FileHash' -PowerShellVersion 5.1
TypeNames FormatViewDefinition
--------- --------------------
{Microsoft.Powershell.Utility.FileHash} {Microsoft.Powershell.Utility.FileHash}
PS C:\> Get-FormatData -TypeName 'Microsoft.Powershell.Utility.FileHash' -PowerShellVersion 6.0
TypeNames FormatViewDefinition
--------- --------------------
{Microsoft.Powershell.Utility.FileHash} {Microsoft.Powershell.Utility.FileHash}
This example shows how to use Get-FormatData to get format data for a specified TypeName and a specified PowerShell version.
Optional Parameters
Specify the version of PowerShell this cmdlet gets for the formatting data. Enter a two digit number seperated by a period.
Type: | Version |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the type names that this cmdlet gets for the formatting data. Enter the type names. Wildcards are permitted.
Type: | String[] |
Position: | 1 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
None
You cannot pipe input to this cmdlet.
Outputs
System.Management.Automation.ExtendedTypeDefinition