Get-FormatData
获取当前会话中的格式设置数据。
语法
Get-FormatData
[[-TypeName] <String[]>]
[-PowerShellVersion <Version>]
[<CommonParameters>]
说明
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>
...
前四个命令使用 Get-FormatData
、 Import-Module
和 Compare-Object
cmdlet 来标识 BitsTransfer 模块添加到会话的格式类型。
第五个命令使用 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。