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

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

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

导出格式数据 (Microsoft.PowerShell.Utility)


Export-FormatData

模块 :Microsoft.PowerShell.Utility

将当前会话中的格式化数据保存在格式化文件中。

句法

Export-FormatData
      -InputObject <ExtendedTypeDefinition[]>
      -Path <String>
      [-Force]
      [-NoClobber]
      [-IncludeScriptBlock]
      [<CommonParameters>]
Export-FormatData
      -InputObject <ExtendedTypeDefinition[]>
      -LiteralPath <String>
      [-Force]
      [-NoClobber]
      [-IncludeScriptBlock]
      [<CommonParameters>]

描述

Export-FormatData cmdlet 从当前会话中的格式化对象创建 PowerShell 格式化文件 (format.ps1xml)。它获取 Get-FormatData 返回的 ExtendedTypeDefinition 对象,并将它们保存在 XML 格式的文件中。

PowerShell 使用格式化文件 (format.ps1xml) 中的数据来生成会话中 Microsoft .NET Framework 对象的默认显示。您可以查看和编辑格式化文件,并使用 Update-FormatData cmdlet 将格式化数据添加到会话中。

有关在 PowerShell 中格式化文件的详细信息,请参阅 about_Format.ps1xml。

示例

示例1:导出会话格式数据

Get-FormatData -TypeName "*" | Export-FormatData -Path "allformat.ps1xml" -IncludeScriptBlock

此命令将会话中的所有格式数据导出到 AllFormat.ps1xml 文件。

该命令使用 Get-FormatData cmdlet 获取会话中的格式数据。 TypeName 参数的 *(全部)值指示 cmdlet 获取会话中的所有数据。

该命令使用管道运算符 (|) 将格式数据从 Get-FormatData 命令发送到 Export-FormatData cmdlet,该 cmdlet 会导出将格式数据保存到 AllFormat.ps1 文件中。

Export-FormatData 命令使用 IncludeScriptBlock 参数将脚本块包含在文件的格式数据中。

示例 2:导出类型的格式数据

$F = Get-FormatData -TypeName "helpinfoshort"
Export-FormatData -InputObject $F -Path "c:\test\help.format.ps1xml" -IncludeScriptBlock

这些命令将 HelpInfoShort 类型的格式数据导出到 Help.format.ps1xml 文件。

第一个命令使用 Get-FormatData cmdlet 获取 HelpInfoShort 类型的格式数据,并将其保存在 $F 变量中。

第二个命令使用 Export-FormatData cmdlet 的 InputObject 参数输入保存在 $F 变量中的格式数据。它还使用 IncludeScriptBlock 参数在输出中包含脚本块。

示例 3:导出不带脚本块的格式数据

Get-FormatData -TypeName "System.Diagnostics.Process" | Export-FormatData -Path process.format.ps1xml
Update-FormatData -PrependPath ".\process.format.ps1xml"
Get-Process p*

Handles  NPM(K)  PM(K)  WS(K) VM(M)   CPU(s)    Id ProcessName
-------  ------  -----  ----- -----   ------    -- -----------
323                                       5600 powershell
336                                       3900 powershell_ise
138                                       4076 PresentationFontCache

此示例显示了从 Export-FormatData 命令中省略 IncludeScriptBlock 参数的效果。

第一个命令使用 Get-FormatData cmdlet 获取 Get-Process cmdlet 返回的 System.Diagnostics.Process 对象的格式数据。该命令使用管道运算符 (|) 将格式化数据发送到 Export-FormatData cmdlet,后者将其导出到当前目录中的 Process.format.ps1xml 文件。

在这种情况下,Export-FormatData 命令不使用 IncludeScriptBlock 参数。

第二个命令使用 Update-FormatData cmdlet 将 Process.format.ps1xml 文件添加到当前会话。该命令使用 PrependPath 参数来确保 Process.format.ps1xml 文件中流程对象的格式化数据位于流程对象的标准格式化数据之前。

第三个命令显示了此更改的效果。该命令使用 Get-Process cmdlet 获取名称以 P 开头的进程。输出显示,显示中缺少使用脚本块计算的属性值。

参数

-Force

强制运行命令而不要求用户确认。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-IncludeScriptBlock

指示是否导出格式数据中的脚本块。

由于脚本块包含代码并且可能被恶意使用,因此默认情况下不会导出它们。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-InputObject

指定要导出的数据对象的格式。输入包含对象的变量或获取对象的命令,例如 Get-FormatData 命令。您还可以通过管道将对象从 Get-FormatData 传输到 Export-FormatData

类型 :

扩展类型定义[]

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-LiteralPath

指定输出文件的位置。与 Path 参数不同,LiteralPath 的值完全按照键入的方式使用。没有字符被解释为通配符。如果路径包含转义字符,请将其用单引号引起来。单引号告诉 PowerShell 不要将任何字符解释为转义序列。

类型 :

String

别名:

PSPath, LP

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

False

-NoClobber

指示 cmdlet 不会覆盖现有文件。默认情况下,Export-FormatData 会覆盖文件而不发出警告,除非该文件具有只读属性。

要指示 Export-FormatData 覆盖只读文件,请使用 Force 参数。

类型 :

SwitchParameter

别名:

NoOverwrite

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Path

指定输出文件的位置。输入路径(可选)和带有 format.ps1xml 文件扩展名的文件名。如果省略路径,Export-FormatData 将在当前目录中创建文件。

如果您使用 .ps1xml 以外的文件扩展名,Update-FormatData cmdlet 将无法识别该文件。

如果指定现有文件,Export-FormatData 将覆盖该文件而不发出警告,除非该文件具有只读属性。要覆盖只读文件,请使用Force参数。要防止文件被覆盖,请使用 NoClobber 参数。

类型 :

String

别名:

FilePath

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

False

输入

扩展类型定义

您可以通过管道将 ExtendedTypeDefinition 对象从 Get-FormatData 传输到此 cmdlet。

输出

此 cmdlet 不返回任何输出。它会生成一个文件并将其保存在指定路径中。

笔记

  • 要使用任何格式文件(包括导出的格式文件),会话的执行策略必须允许运行脚本和配置文件。有关更多信息,请参阅 about_Execution_Policies。

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

取消回复欢迎 发表评论:

关灯