首页 > 解决方案 > 如何停止和恢复受保护的触发 Windows 服务 AppIDSvc (AppLocker)

问题描述

目标是通过暂时停止 AppIDSvc(应用程序标识)Windows 服务然后恢复其执行来控制AppLocker 。该操作应该从另一个 Windows 服务中执行,该服务在 SYSTEM 用户安全上下文下具有提升的权限。

默认情况下,AppIDSvc 服务启动类型为手动(触发启动)。这意味着即使服务被ServiceController.Stop方法或sc stop AppIDSvc命令停止,它也会被任何 AppLocker 事件触发并再次启动,例如启动一个可执行文件。

由于它是受保护的服务,因此调用ChangeServiceConfigWinAPI 函数或sc config AppIDSvc start= disabled禁用该服务会返回“拒绝访问”错误。

尝试终止服务进程,即使是在 SYSTEM 用户安全上下文中,也会导致“访问被拒绝”。

对我有用的唯一方法是将注册表值更改为然后Start重新启动计算机。不幸的是,由于计算机重新启动,此方法不适合。HKLM\SYSTEM\CurrentControlSet\Services\AppIDSvc4

基于AppLocker PowerShell cmdlet也可能有以下解决方案:
1)备份现有的 AppLocker 规则;
2)使用“覆盖现有”选项导入“允许所有人”规则;
3) 手术后恢复已有的。
它被证明是有效的,但也不适合:它只会替代本地 GPO 规则,不会覆盖域规则,并且该解决方案需要在域公司网络中工作。

任何人都可以提供建议吗?此外,该解决方案不得降低本机 Windows 安全性。同时,我们可以依靠客户意识到这一事实,甚至他们打算暂停 AppLocker 一段时间。

标签: c#.netsecuritywinapiwindows-services

解决方案


推荐阅读