可通过组策略限制域用户服务管理权限,包括禁用指定服务启动、阻止访问服务控制管理器、禁止用户以服务身份运行程序,并需验证生效状态。
可以通过组策略(gpo)限制域用户对系统服务的管理权限,核心是两方面:一是禁止用户启动、停止或配置特定服务;二是防止其通过服务控制管理器(services.msc)等界面操作服务。实际生效依赖策略路径选择、权限继承控制和目标范围精准设定。
禁用指定系统服务的启动能力
该方式让服务在目标计算机上始终处于“已禁用”状态,普通域用户无法手动启用,管理员也无法通过图形界面或命令行(如 net start 或 sc start)启动它。
- 在域控制器打开 组策略管理控制台(gpmc.msc)
- 创建或编辑一个链接到目标计算机所在 OU 的 GPO
- 编辑 GPO,导航至:计算机配置 → 策略 → Windows 设置 → 安全设置 → 系统服务
- 在右侧列表中找到对应服务(如 Spooler、RemoteRegistry、WSearch),双击打开属性
- 将“启动模式”设为 已禁用,勾选“已定义此策略设置”
- 点击确定并关闭编辑器,策略将在下次刷新后生效
限制用户对服务控制管理器的访问权限
即使服务未被禁用,也可阻止域用户打开服务管理界面或调用服务相关 API。这需配合安全描述符修改或权限分配策略。
- 使用 Security Configuration and Analysis 工具或 secedit 导入自定义安全模板,修改服务对象的安全描述符(DACL),移除普通用户组的 ReadControl 和 Start 权限
- 或通过 GPO 中的 计算机配置 → Windows 设置 → 安全设置 → 文件系统,定位到 %SystemRoot%\system32\services.exe,为其 ACL 添加拒绝规则(仅限高级场景)
- 更稳妥的做法是:将用户从 Administrators 和 Power Users 组中移出,并确保其不在任何拥有服务管理权限的自定义安全组中
阻止用户以服务身份运行自定义程序
攻击者常利用低权限账户注册为服务来提权。可通过用户权限分配策略直接切断这一路径。
- 在相同 GPO 中,导航至:计算机配置 → 策略 → Windows 设置 → 安全设置 → 本地策略 → 用户权限分配
- 找到并双击 拒绝作为服务登录
- 点击“添加用户或组”,填入需限制的域用户或安全组(如 Domain\StandardUsers)
- 确认启用策略,保存退出
- 该设置可防止用户账户被用于 sc create 或服务安装程序注册为服务,大幅压缩横向移动空间
验证与注意事项
策略部署后不能仅凭界面判断是否生效,需主动验证。
- 客户端执行 gpupdate /force,然后注销再登录(服务类策略通常无需重启,但部分需服务重启)
- 使用 services.msc 查看目标服务是否灰显且无法右键操作
- 运行 sc query
检查其 STATE 是否为 4 DISABLED - 尝试以受限用户身份执行 sc start
,应返回“拒绝访问”或“服务未响应” - 注意避免禁用关键系统服务(如 TermService、Dnscache、LSASS),建议先在测试 OU 小范围验证










