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

ni -type file foobar.txt

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

最佳答案

使用$PSDefaultParameterValues:

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

在全局范围中进行设置,然后New-Item cmdlet的-Verbose的默认值为$ True。

您可以对要影响的cmdlet使用通配符:
$PSDefaultParameterValues['New-*:Verbose'] = $true

将为所有New- * cmdlet设置它。
$PSDefaultParameterValues['*:Verbose'] = $true

将为所有cmdlet设置它。

关于Powershell在全局范围内应用详细信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28763707/

10-12 07:21