Get-FormatData
取得目前會話中的格式化數據。
語法
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-FormatData
和 Export-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-Object
Import-Module
Get-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 的電腦時改善相容性。
類型: | Version |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-TypeName
指定此 Cmdlet 針對格式化數據取得的類型名稱。 輸入類型名稱。 允許通配符。
類型: | String[] |
Position: | 0 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | True |
輸入
None
您無法使用管線將物件傳送至此 Cmdlet。