如何提及powershell中所有函数调用的详细信息?

时间:2018-02-20 09:48:14

标签: powershell powershell-v3.0

我在模块中编写了很多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的所有功能?所以我不需要提及每个函数的详细信息。

3 个答案:

答案 0 :(得分:2)

正确的答案是添加

$VerbosePreference = 'Continue'
在代码之前

,并将其设置回

$VerbosePreference = 'SilentlyContinue'

之后。

但是,如果此信息默认情况下您想要,则可能只想将其更改为write-hostwrite-output

答案 1 :(得分:1)

另一种可能性是在-Verbose上添加Write-Verbose

Write-verbose "Useful information from fun1" -Verbose

执行此操作并不会给调用者提供任何不查看信息的选项,但它会转到详细信息流而不是stdout或主机,所以如果这是你想要的,那么这可能会有用。

答案 2 :(得分:1)

要扩展其他两个答案,如果您希望它们默认为详细信息而不是其他答案,则可以在个人资料中使用$PSDefaultParameterValues["Myfunction2:verbose"] = $true