Powershell 正在抑制导入模块的详细信息
我正在导入我的PowerShell脚本;但是,在使用-Verbose运行脚本时,Carbon也会输出很多详细的语句Powershell 正在抑制导入模块的详细信息,powershell,powershell-3.0,import-module,Powershell,Powershell 3.0,Import Module,我正在导入我的PowerShell脚本;但是,在使用-Verbose运行脚本时,Carbon也会输出很多详细的语句 是否可以以静默方式导入模块,这样我就可以忽略导入模块中的详细语句,而只保留我自己的语句?尝试导入模块Carbon-verbose:$false导入模块Carbon-verbose:$false | Out Null由于Carbon似乎是一个脚本模块,您可以尝试设置$script:VerbosePreference(或者只需$VerbosePreference)在模块内部'Silen
是否可以以静默方式导入模块,这样我就可以忽略导入模块中的详细语句,而只保留我自己的语句?尝试导入模块Carbon-verbose:$false导入模块Carbon-verbose:$false | Out Null由于Carbon似乎是一个脚本模块,您可以尝试设置
$script:VerbosePreference
(或者只需$VerbosePreference
)在模块内部'SilentlyContinue'
carbon.psm1。模块作用域应该可以做到这一点。我无法将上述解决方案用于所有模块(我使用的是Powershell 4.0)。这是我最终使用的解决方案,到目前为止,它已适用于我使用的每个模块:
在我的脚本文件的顶部,我有以下内容,以使-Verbose用于脚本(脚本没有参数):
然后,当我准备导入模块时,我会执行以下操作:
$SaveVerbosePreference = $global:VerbosePreference;
$global:VerbosePreference = 'SilentlyContinue';
Import-module "Whatever";
$global:VerbosePreference = $SaveVerbosePreference;
然后我就这样调用脚本:
PowerShell -file something.ps1 -Verbose
我认为比这里标记的更好的解决方案是将详细输出重定向到另一个流。这样,如果需要,您可以打印输出,并且不会永远膨胀:
Import-Module Carbon 4>&5
这会将详细流(4)重定向到调试流(5)。当您使用详细开关运行脚本时,它不会从导入模块输出详细行,但您可以通过使用-debug开关运行脚本将其返回。第一个贡献,我希望这会有所帮助
ipmo $dir\$i 3>$null
ipmo:导入模块的简写/别名
3> $null:将警告消息重定向到null
编辑:
我想分享我在工作中找到的一张表,当时我正在寻找帮助解释这一点的最佳方法……但我现在找不到。不过,最快的一点是,你可能已经注意到ipmo的行为与其他PWshell cmdlet不同。它在bg中总共有4个流
我不记得1和2。3是警告。4虽然,4不一定是错误,但它同时也是错误?我不记得确切的措辞。它是绕过错误的东西
如果我再次找到那个获奖的表,我一定会分享我的祝福。我无法让它工作,但
4>$null
确实工作了。缺点是输出将完全丢失,而不是重定向到调试流。请添加一些文本,解释为什么代码会有帮助……纯代码转储不被视为支持呃。[咧嘴笑]我很高兴能有我的第一份稿件。我很快就会编辑它。我很期待它…[咧嘴笑]
ipmo $dir\$i 3>$null