Powershell在全球范围内应用冗长

时间:2015-02-27 11:11:25

标签: powershell verbose

想象一下,如果你的脚本包含一行代码,比如

ni -type file foobar.txt

其中-verbose标志未提供给ni命令。有没有办法在全局PSSession级别设置详细程度,如果我要运行此脚本以强制详细程度?我问的原因是我有一组大约60个相互依赖的脚本,这些脚本都没有提供 - 它们发出的任何命令都是如此。当我调用主入口点powershell脚本时,我希望看到整个输出。 / p>

2 个答案:

答案 0 :(得分:7)

使用$PSDefaultParameterValues

$PSDefaultParameterValues['New-Item:Verbose'] = $true

在Global范围中设置它,然后New-Item cmdlet的默认值-Verbose将为$ True。

您可以对要影响的cmdlet使用通配符:

$PSDefaultParameterValues['New-*:Verbose'] = $true

将为所有New- * cmdlet设置它。

$PSDefaultParameterValues['*:Verbose'] = $true

将为所有cmdlet设置它。

答案 1 :(得分:1)

您也可以这样做:

$global:VerbosePreference = 'continue'

比PSDefaultParameters更好,因为它可以接受没有Verbose参数的函数。