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 参数。 如果省略参数和值,则可能无法获取所有正确的类型信息。
参数
-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。