首页/系统/Windows 运维速查/sc qc 查看服务配置详情

sc qc 查看服务配置详情

查看服务二进制路径、启动类型、登录账户与依赖:判断“服务到底跑的是哪个程序”的第一步。

Windows 运维速查系统更新于 2026-10-13

sc qc 是什么

sc qc 查看单个服务的配置详情:可执行文件路径、启动类型、以哪个账户运行、依赖哪些服务。要回答“这个服务到底跑的是哪个程序”时,它是第一条该执行的命令。sc query 看的是运行状态,sc qc 看的是配置本身,两者配合使用。

基本信息

适用平台Windows CMD(cmd.exe),跨机查询加 \\主机名
语法sc qc 服务名 [type= own|share]
关键输出SERVICE_NAME 内部名、BINARY_PATH_NAME 可执行路径与参数、START_TYPE 启动类型、SERVICE_START_NAME 运行账户、DEPENDENCIES 依赖项
权限要求本机查询普通账户即可,跨机与改写配置需管理员
结构化替代Get-CimInstance Win32_Service 便于脚本判断

典型使用场景

  • 排查来源不明的服务,从显示名反查它真正执行的程序路径
  • 安全巡检:确认二进制路径是否指向可疑目录或存在未加引号的路径
  • 服务启动失败时核对程序文件是否真的存在于该路径
  • 迁移或重建服务前记录原始配置,方便比对与回滚
  • 确认依赖关系,为后续按正确顺序启停做准备

常用示例

常用示例
sc qc Spooler
REM 只看可执行文件路径
sc qc wuauserv | findstr /i BINARY_PATH
REM 看运行账户与依赖
sc qc MSSQLSERVER
REM 结构化写法,方便脚本判断
powershell -c "Get-CimInstance Win32_Service | Where-Object Name -eq Spooler | Select-Object Name,PathName,StartMode,StartName"
REM 列出所有服务名,核对内部名
sc query type= service state= all | findstr SERVICE_NAME

关键字段读法

字段含义要留意的点
BINARY_PATH_NAME可执行文件完整路径与启动参数路径含空格却未加引号存在劫持风险
START_TYPEAUTO_START 自动、DEMAND_START 手动、DISABLED 禁用已禁用却期待它运行是最常见的误判
SERVICE_START_NAME运行账户,LocalSystem 权限最高用域账户的服务要留意密码过期导致启动失败
DEPENDENCIES该服务依赖的组件依赖未启动会引发启动超时类失败
DISPLAY_NAME面向用户的显示名命令行必须用内部名,写显示名会报未安装
二进制路径是安全排查的重点:正常的系统服务多位于 System32 或 Program Files,若指向用户临时目录、AppData 等位置,需要进一步确认程序来源与签名。
若返回“指定的服务未安装”,通常是把显示名当成了服务名。先用 sc query type= service state= all 或 Get-Service 拿到准确的内部短名再查。

易错点

  • 把显示名当服务名传给 sc 会得到“指定的服务未安装”,命令行必须使用内部短名
  • 路径含空格且未加引号存在路径劫持风险,例如未加引号的 Program Files 路径可能被同名程序抢先执行
  • 二进制被删除或改名后服务会以启动失败或找不到文件类错误退出,报错本身不说明缺哪个文件
  • 改配置前不留存原始输出,回滚只能靠记忆,排障第一步应先记录 sc qc 结果
  • 依赖缺失导致的启动失败只看系统日志的结论不够,需结合 7000 与 7024 事件定位具体环节

数据来源与参考

  • Microsoft Learn:sc qc

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌