Get-FormatData
获取当前会话中的格式设置数据。
语法
Get-FormatData
[[-TypeName] <String[]>]
[-PowerShellVersion <Version>]
[<CommonParameters>]
说明
Get-FormatData
cmdlet 获取当前会话中的格式设置数据。
会话中的格式设置数据包括格式化来自 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,该对象将其转换回 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。