使用pwsh 7.5.1时Out-Null无法抑制Restart-Service的输出
解决Restart-Service警告无法被Out-Null抑制的问题
问题核心在于:Out-Null仅会吞噬PowerShell的成功输出流(Stream 1),而你看到的"Waiting for service..."属于警告输出流(Stream 3),所以单纯管道到Out-Null不会生效。以下是两种可行的解决办法:
方法1:使用cmdlet自带的警告控制参数
直接给Restart-Service加上-WarningAction SilentlyContinue参数,从源头抑制警告输出,这是最简洁高效的方式:
Get-Service DusmSvc | Restart-Service -WarningAction SilentlyContinue
方法2:重定向所有输出流到Out-Null
如果你需要一次性处理所有类型的输出(包括错误、警告等),可以用PowerShell的流重定向语法*>&1把所有流合并到成功流,再交给Out-Null处理:
Get-Service DusmSvc | Restart-Service *>&1 | Out-Null
补充说明:Restart-Service默认会等待服务状态切换完成,这个警告只是告知等待过程,上述两种方法都能完全屏蔽该提示。
内容的提问来源于stack exchange,提问作者scorpion35
相关产品推荐
相关产品推荐

