如何更改默认输出格式化Powershell以使用Format-Table -autosize?

如何更改默认输出格式化Powershell以使用Format-Table -autosize?

问题描述:

我怎么能强制执行的PowerShell使用如何更改默认输出格式化Powershell以使用Format-Table -autosize?

Format-Table -auto 

为默认格式书写对象的数组返回到控制台时? 感谢

如果您确定调用cmdlet的每一次,如果你有至少PowerShell的3.0版,那么你可以设置一个$PSDefaultParameterValues,你可以阅读更多关于about_Parameters_Default_Values

,将满足您的需求将是语法:

[email protected]{"<CmdletName>:<ParameterName>"="<DefaultValue>"} 

所以我们在开关将其设置为$true补充。

$PSDefaultParameterValues = @{"Format-Table:Autosize"=$true} 

要删除这一点,你就必须做到这一点几乎相同,你会散列表元素

$PSDefaultParameterValues.Remove("Format-Table:Autosize") 

从这里开始,上述文章是一些相关的信息,以如何应对这些。

$ PSDefaultParameterValues是一个首选变量,因此它只存在于设置它的会话 中。它没有默认值。

要设置$ PSDefaultParameterValues,请在命令行键入变量名称和一个或多个键值对 。

如果输入另一个$ PSDefaultParameterValues命令,其值会替换原始值 的值。原文不保留。

要为将来的会话节省$ PSDefaultParameterValues,请将$ PSDefaultParameterValues 命令添加到Windows PowerShell配置文件。有关更多信息,请参阅about_Profiles。


以外的是我不知道,因为这将是困难的动感变化。您需要确保发送到数据流的数据以与format-table -auto相同的方式出现在屏幕上,但您必须确保它不会影响数据,以便您无法捕获数据或将数据发送到管道。

您正在寻找在创建自定义输出格式的文件,like Frode F. talks about,那么你就需要考虑看着about_Format.ps1xml但你需要为每对象,你想显示这种方式进行配置。

例如,FileSystem.format.ps1xml将管理来自Get-ChildItem的输出。 Format-Table更具活力,我不认为你可以说在该文件中只使用Format-Table

+1

非常有用的个人资料。请注意,这只适用于管道到'Format-Table'格式。防爆。'Get-ChildItem'本身将使用输出类型格式数据,而'Get-ChildItem |格式表“将被自动化。如果您需要将它无管道应用于'Format-Table',则需要为特定类型的对象导入自定义FormatData xml。 –

+0

@FrodeF。好点子。再看一遍,我认为OP想要的是你所描述的。 – Matt