当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 获取格式数据 (Microsoft.PowerShell.Utility)

作者:精品下载站 日期:2024-12-14 02:06:57 浏览:12 分类:玩电脑

获取格式数据 (Microsoft.PowerShell.Utility)


Get-FormatData

模块 :Microsoft.PowerShell.Utility

获取当前会话中的格式化数据。

句法

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-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>
...

前四个命令使用 Get-FormatDataImport-ModuleCompare-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 的计算机时的兼容性。

类型 :

版本

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-TypeName

指定此 cmdlet 获取的格式化数据的类型名称。输入类型名称。允许使用通配符。

类型 :

String[]

位置:

0

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

输入

您无法将对象通过管道传输到此 cmdlet。

输出

扩展类型定义

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯