【问题标题】:Powershell output formattingPowershell 输出格式
【发布时间】:2012-03-17 18:16:11
【问题描述】:

我正在使用 C# 开发 Powershell Cmdlet,我想知道是否有一种方法可以控制我在 Cmdlet 本身中写入 Powershell 的对象的格式。基本上,我有太多属性的对象无法在屏幕上轻松显示,而我的 Cmdlet 使用WriteObject() 将这些对象发送到 Powershell

我希望我的 cmdlet 的用户能够运行它们,并在 Powershell 控制台中读取返回的数据,就像他们使用命令提示符所做的那样。不幸的是,Powershell 试图放入列中的属性数量意味着大多数都被截断了,当我添加更多属性时,它会为每个属性提供自己的行,这就更糟了。

我见过允许用户适当地格式化数据的东西,但没有任何东西允许开发人员设置默认值。基本上我想要的是一个类似于属性的东西,我可以将其应用于被泵送到 Powershell 的对象的每个属性,它告诉 Powershell 是否显示每个属性(假设用户没有设置其他格式选项)。

(我也尝试将它们设为公共字段而不是属性,Powershell 仍然显示它们)

【问题讨论】:

    标签: c# powershell


    【解决方案1】:

    我假设您使用的是 PowerShell 2.0。

    如果您的模块名为MyModule,您可以在其旁边创建一个MyModule.Format.ps1xml 文件来描述Format-ListFormat-Table 等默认显示的属性。请参阅Get-Help about_Format.ps1xmlFormatting File Overview 了解更多信息。

    要将您的格式化文件链接到您的模块,您需要创建一个module manifest 并定义FormatsToProcess 项。 New-ModuleManifest cmdlet 可以帮助您开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-20
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-27
      • 2014-04-09
      相关资源
      最近更新 更多