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

如何在PowerShell中读取sc.exe命令返回的错误码

解决方案

避坑提醒

  • PowerShell 默认存在别名 sc 对应内置 cmdlet Set-Content,调用服务控制程序时请明确写 sc.exe 或用调用运算符 & 执行,避免误触发别名执行错误命令。

方法1:直接读取进程退出码(最简便)

sc.exe 执行完成后会把错误码作为进程退出码返回,你可以直接用 PowerShell 内置自动变量 $LASTEXITCODE 读取该值:

# 执行创建服务命令
& sc.exe create backupService BinPath= $binPath
# 读取创建操作的错误码,成功时为0,失败时对应1073等错误值
$createResult = $LASTEXITCODE

# 执行启动服务命令
& sc.exe start backupService
# 读取启动操作的错误码,成功时为0,失败时对应1056等错误值
$startResult = $LASTEXITCODE

方法2:从输出文本中提取错误码

如果你需要从sc的输出文本里匹配错误码,可以将输出捕获到变量后用正则提取:

# 捕获sc.exe的所有输出(包括标准错误流)
$scOutput = & sc.exe create backupService BinPath= $binPath 2>&1
# 正则匹配错误码
if ($scOutput -match 'FAILED (\d+):') {
    $errorCode = $matches[1]
    Write-Host "提取到的错误码为:$errorCode"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:24:01