我在模块中编写了很多powershell函数。 每个函数都有Write-verbose。
代表:
function fun1{
# code
Write-verbose "Useful information from fun1"
}
function fun2{
# code
Write-verbose "Useful information from fun2"
}
现在当我使用该函数时,我必须为每个函数调用提及详细信息。
fun1 -params <paramvalue> -verbose
fun2 -params <paramvalue> -verbose
有没有办法全面提及Verbose的所有功能?所以我不需要提及每个函数的详细信息。
答案 0 :(得分:2)
正确的答案是添加
$VerbosePreference = 'Continue'
在代码之前,并将其设置回
$VerbosePreference = 'SilentlyContinue'
之后。
但是,如果此信息默认情况下您想要,则可能只想将其更改为write-host
或write-output
答案 1 :(得分:1)
另一种可能性是在-Verbose
上添加Write-Verbose
:
Write-verbose "Useful information from fun1" -Verbose
执行此操作并不会给调用者提供任何不查看信息的选项,但它会转到详细信息流而不是stdout或主机,所以如果这是你想要的,那么这可能会有用。
答案 2 :(得分:1)
要扩展其他两个答案,如果您希望它们默认为详细信息而不是其他答案,则可以在个人资料中使用$PSDefaultParameterValues["Myfunction2:verbose"] = $true