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

如何通过Windows服务停止另一个Windows服务?权限问题求助

问题:停止本地服务时遇到权限拒绝异常

以下是我用于停止服务的代码:

ServiceController sc = new ServiceController();
sc.ServiceName = "UploadDownloadService";
if (sc.Status == ServiceControllerStatus.Running)
{
    sc.Stop();
    sc.WaitForStatus(ServiceControllerStatus.Stopped);
}

运行代码时抛出以下异常:

System.InvalidOperationException: 'Cannot open UploadDownloadService service on computer '.'.'
Win32Exception: Access is denied

我在调试模式下运行代码,目标服务和调试程序都在同一本地机器上,请问该如何获取足够的权限来停止服务?

预期结果:执行代码后成功停止UploadDownloadService服务。


解决方法

  • 以管理员身份启动调试工具:停止系统服务需要管理员权限,右键点击你的IDE(比如Visual Studio),选择「以管理员身份运行」,再启动调试即可。
  • 配置应用程序清单:如果不想每次手动切换权限,给项目添加app.manifest文件,修改其中的权限配置节点:
    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
    
    这样程序启动时会自动弹出UAC请求管理员权限。
  • 检查服务的权限设置:打开系统「服务」管理器,找到UploadDownloadService,右键选择「属性」→「安全」标签,确认当前用户拥有「停止」「启动」等操作权限。如果没有,点击「编辑」添加当前用户并赋予对应权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 18:34:54