You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何屏蔽PowerShell脚本中grpcurl请求的错误输出

解决PowerShell中屏蔽grpcurl错误输出的问题

因为grpcurl是外部命令行工具,而非PowerShell原生命令,所以-ErrorAction Stop和Try/Catch对它的错误处理不生效——PowerShell的这些错误处理机制只针对自身原生命令,外部工具的错误是通过标准错误流(stderr)和退出码来传递的。

要屏蔽grpcurl的错误输出,可通过以下方式处理:

直接重定向标准错误流到Null

在grpcurl命令末尾添加2>$null,将错误信息直接丢弃:

$GetParameters = grpcurl -plaintext -import-path <path> -proto service.proto <IP>:<port> descriptors./GetParameters 2>$null

可选:忽略退出码引发的PowerShell错误

如果grpcurl返回非0退出码时,PowerShell仍会将其标记为错误(比如在严格模式下),可以临时修改错误偏好设置:

# 临时保存原错误偏好
$originalErrorPref = $ErrorActionPreference
$ErrorActionPreference = 'SilentlyContinue'

$GetParameters = grpcurl -plaintext -import-path <path> -proto service.proto <IP>:<port> descriptors./GetParameters 2>$null

# 恢复原错误偏好
$ErrorActionPreference = $originalErrorPref

额外说明

如果需要后续判断请求是否成功,可通过$LASTEXITCODE变量获取grpcurl的退出码:

  • 退出码为0表示请求成功
  • 非0则表示请求失败

内容的提问来源于stack exchange,提问作者user17508887

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 23:15:50