想象一下,如果你的脚本包含一行代码,比如
ni -type file foobar.txt
其中-verbose标志未提供给ni命令。有没有办法在全局PSSession级别设置详细程度,如果我要运行此脚本以强制详细程度?我问的原因是我有一组大约60个相互依赖的脚本,这些脚本都没有提供 - 它们发出的任何命令都是如此。当我调用主入口点powershell脚本时,我希望看到整个输出。 / p>
答案 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参数的函数。