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

[玩转系统] 加载和导出格式化数据

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

加载和导出格式化数据


创建格式化文件后,您需要通过将文件加载到当前会话中来更新会话的格式数据。 PowerShell 加载一组预定义的格式。当前会话的格式数据更新后,PowerShell 使用该数据来显示与加载格式中定义的视图关联的 .NET 对象。您可以加载到当前会话中的格式数量没有限制。您还可以将当前会话中的格式数据导出回格式文件。

加载格式数据

可以使用以下方法将格式化文件加载到当前会话中:

  • 您可以从命令行将格式化文件导入到当前会话中。按照以下过程中所述使用 Update-FormatData cmdlet。

  • 您可以创建引用格式化文件的模块清单。模块允许您打包格式化文件以供分发。使用 New-ModuleManifest cmdlet 创建清单,并使用 Import-Module cmdlet 将模块加载到当前会话中。有关模块的详细信息,请参阅编写 Windows PowerShell 模块。

  • 您可以创建一个引用格式化文件的管理单元。使用 System.Management.Automation.PSSnapIn.Formats 引用您的格式设置文件。但是,最佳实践建议是使用模块来打包 cmdlet 以及关联的格式和类型文件。

  • 如果您以编程方式调用命令,则可以将格式化文件添加到运行命令的运行空间的初始会话状态。有关详细信息,请参阅 System.Management.Automation.Runspaces.SessionStateFormatEntry 类。

加载格式化文件后,它会添加到内部列表中,PowerShell 使用该列表来选择在主机中显示对象时使用的视图。您可以将格式化文件添加到列表的开头,也可以将其附加到列表的末尾。

了解您的格式化文件添加到此列表中的位置非常重要。

  • 如果您要加载定义对象唯一视图的格式文件,则可以使用前面描述的任何方法。

  • 如果您要加载一个格式化文件,该文件定义了已定义现有视图的对象的视图,则必须将其添加到列表的开头。您必须使用 Update-FormatData cmdlet 并将文件添加到列表的开头。

存储您的格式化文件

您可以将格式化文件存储在磁盘上的任何位置。但是,建议您将它们存储在与配置文件脚本相同的文件夹中。

使用以下命令确定配置文件脚本的位置。

Split-Path -Path $PROFILE -Parent

加载格式文件

  1. 将格式化文件存储到磁盘。

  2. 使用以下命令之一运行 Update-FormatData cmdlet。

    如果您要更改对象的显示方式,请使用以下命令将格式化文件添加到列表的前面。

    Update-FormatData -PrependPath PathToFormattingFile
    

    使用以下命令将格式化文件添加到列表末尾。

    Update-FormatData -AppendPath PathToFormattingFile
    

    笔记

    一旦格式数据加载到会话中,就无法将其删除。您必须在未加载格式数据的情况下打开一个新会话。

导出格式数据

PowerShell 包含许多 .NET 类型的格式定义。您可以使用 Get-FormatData cmdlet 来查看当前会话中加载的格式数据。您可以使用 Export-FormatData cmdlet 将类型的格式数据导出到文件。

以下命令将 System.Guid 类型的格式数据导出到当前目录中名为 System.Guid.format.ps1xml 的文件中。

Get-FormatData System.Guid | Export-FormatData -Path ./System.Guid.format.ps1xml
Get-Content ./System.Guid.format.ps1xml
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <ViewDefinitions>
    <View>
      <Name>System.Guid</Name>
      <ViewSelectedBy>
        <TypeName>System.Guid</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders />
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Guid</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
  </ViewDefinitions>
</Configuration>

您可以编辑导出的文件,为该类型创建自定义格式定义。

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

取消回复欢迎 发表评论:

关灯