【问题标题】:Command line net start of a service is returning "System error 5 has occurred." on Windows server 2012服务的命令行 net start 返回“发生系统错误 5”。在 Windows 服务器 2012 上
【发布时间】:2026-02-19 21:50:01
【问题描述】:

我遇到了这个错误,在网上找不到单一的解决方案。
我的问题是,当我尝试使用命令行在 Windows 2012 Server 上启动或停止服务时:

net start [服务名称]

它会返回:

“出现系统错误 5。访问被拒绝。”

用户有权启动/停止服务(使用 GUI)并不重要,它无法从命令行执行此操作。对我们运行的一些脚本来说有点关键。用户是管理员无关紧要,用户在注册表中拥有完全权限无关紧要。

【问题讨论】:

  • 服务管理工具(GUI)很可能是以提升的权限运行的(它可能已经默默地提升了自身),而命令行窗口没有。

标签: windows permissions windows-server-2012


【解决方案1】:

终于偶然发现了使用微软工具“SubInAcl.exe”的解决方案

从他们的网站下载,然后运行命令:

C:\Program Files (x86)\Windows Resource Kits\Tools\subinacl.exe /service\[服务器名称][服务名称] /grant=[域]\用户名]=F

这为特定用户提供了对该服务的完全权限。一旦我这样做了,命令行停止/启动服务就可以完美地为该用户工作。

【讨论】: