我有一个powershell类,我试图在使用新的Powershell 5类时获得write-debug和write-verbose的输出。
例如:
class TestWriteDebug
{
TestWriteDebug()
{
Write-Debug "Constructor called"
}
verboseOutput()
{
Write-Verbose "Method `"verboseOutput()`" was called"
}
}
我通过[TestWriteDebug]::new()称呼它
$test = [TestWriteDebug]::new()
$test.verboseOutput()
我似乎无法弄清楚在创建对象或调用对象的方法时如何传递-debug和-verbose标志,谁能告诉我这是如何实现的?
谢谢你的帮助。
最佳答案
因为您将它们作为表达式的一部分进行调用,所以启用它们的最简单方法可能是使用Preference变量:
$DebugPreference = 'Continue'
$VerbosePreference = 'Continue'
$test = [TestWriteDebug]::new()
$test.verboseOutput()
要将它们重置为静默,请退出定义了这些首选项的范围,或者将值重置为
'SilentlyContinue'
。如果要在有限的上下文中启用它们,可以在脚本块中执行它们:$test = &{$DebugPreference = 'continue'; [TestWriteDebug]::new()}
关于class - Powershell 5类,构造函数或方法中的写调试或写详细输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39413401/