11

想象一下,如果您有一个包含单行代码的脚本,例如

ni -type file foobar.txt

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

4

2 回答 2

14

使用$PSDefaultParameterValues

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

在全局范围内设置它,然后 New-Item cmdlet 的 -Verbose 的默认值将是 $True。

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

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

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

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

将为所有 cmdlet 设置它。

于 2015-02-27T11:24:54.950 回答
2

你也可以这样做:

$global:VerbosePreference = 'continue'

比 PSDefaultParameters 工作得更好,因为它可以容忍没有 Verbose 参数的函数。

于 2020-09-08T17:35:29.743 回答