Get-FormatData

取得目前會話中的格式化數據。

Syntax

Get-FormatData
   [[-TypeName] <String[]>]
   [-PowerShellVersion <Version>]
   [<CommonParameters>]

Description

Cmdlet 會 Get-FormatData 取得目前會話中的格式化數據。

會話中的格式化數據報括格式化 Format.ps1xml 檔案中的數據,例如 $PSHOME 目錄中的格式數據、格式化您匯入會話的模組數據,以及使用 Import-PSSession Cmdlet 匯入會話之命令的格式數據。

您可以使用此 Cmdlet 來檢查格式化數據。 然後,您可以使用 Export-FormatData Cmdlet 來串行化物件、將它們轉換成 XML,並將其儲存在檔案中 Format.ps1xml

如需在PowerShell中格式化檔案的詳細資訊,請參閱 about_Format.ps1xml

範例

範例 1:取得所有格式化數據

這個範例會取得會話中的所有格式化數據。

Get-FormatData

範例 2:依類型名稱取得格式化數據

這個範例會取得名稱開頭為 System.Management.Automation.Cmd的格式化數據項。

Get-FormatData -TypeName 'System.Management.Automation.Cmd*'

範例 3:檢查格式化數據物件

此範例示範如何取得格式化數據物件,並檢查其屬性。

$F = Get-FormatData -TypeName 'System.Management.Automation.Cmd*'
$F

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

$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

$F.FormatViewDefinition[0].control.Headers

Label       Alignment Width
-----       --------- -----
CommandType Undefined    15
Name        Undefined    50
Version     Undefined    10
Source      Undefined     0

範例 4:取得格式化數據並將其匯出

此範例示範如何使用 Get-FormatDataExport-FormatData 匯出模組所新增的格式數據。

$A = Get-FormatData
Import-Module bitstransfer
$B = Get-FormatData
Compare-Object $A $B

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

Get-FormatData *bits* | Export-FormatData -FilePath c:\test\bits.format.ps1xml
Get-Content c:\test\bits.format.ps1xml

<?xml version="1.0" encoding="utf-8"?><Configuration><ViewDefinitions>
<View><Name>Microsoft.BackgroundIntelligentTransfer.Management.BitsJob</Name>
...

前四個命令會使用、 和 Cmdlet 來識別 BitsTransfer 模組新增至工作階段的格式類型。Compare-ObjectImport-ModuleGet-FormatData

第五個命令會Get-FormatData使用 Cmdlet 來取得 BitsTransfer 模組新增的格式類型。 它會使用管線運算符 (|) 將格式類型對象傳送至 Export-FormatData Cmdlet,此 Cmdlet 會將它轉換回 XML,並將它儲存在指定的 format.ps1xml 檔案中。

最後一個命令會顯示檔案內容的摘錄 format.ps1xml

範例 5:根據指定的 PowerShell 版本取得格式化數據

此範例示範如何使用 Get-FormatData 來取得指定 TypeName 和 PowerShell 版本的格式數據。

Get-FormatData -TypeName 'Microsoft.Powershell.Utility.FileHash' -PowerShellVersion $PSVersionTable.PSVersion

TypeNames                               FormatViewDefinition
---------                               --------------------
{Microsoft.Powershell.Utility.FileHash} {Microsoft.Powershell.Utility.FileHash}

參數

-PowerShellVersion

指定此 Cmdlet 針對格式化數據取得的 PowerShell 版本。 輸入以句號分隔的兩位數數位。

此參數已在 PowerShell 5.1 中新增,以在遠端執行舊版 PowerShell 的電腦時改善相容性。

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TypeName

指定此 Cmdlet 針對格式化數據取得的類型名稱。 輸入類型名稱。 允許通配符。

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

輸入

None

您無法使用管線將物件傳送至此 Cmdlet。

輸出

ExtendedTypeDefinition