如何在本地组策略对象中为特定用户应用软件限制策略?
Posted
技术标签:
【中文标题】如何在本地组策略对象中为特定用户应用软件限制策略?【英文标题】:How to apply Software Restriction policy for specific user in local group policy object? 【发布时间】:2015-02-12 13:34:20 【问题描述】:我正在为本地组策略对象以编程方式实施基于用户的软件限制策略。 如果我通过域控制器创建策略,我确实可以在用户配置中选择软件限制策略,但在本地组策略编辑器中我没有该选项。 当我在注册表中查找从域控制器应用的策略所做的更改时,它们会修改路径 HKEY_USERS(SID of User)\Softwares\Policies\Microsoft\Windows\Safer\Codeidentifiers 上特定用户的注册表值 他们还将 registry.pol 存储在域控制器的 SYSvol 文件夹中。当我在注册表中进行相同的更改以阻止任何其他应用程序时,应用程序被阻止。 我实现了我想要的,但是修改注册表值是否正确?
PS:- 我正在使用 Igrouppolicyobject API
【问题讨论】:
如果您的意思是直接写入注册表中实现组策略设置的部分,我不建议这样做。除了实施发生变化时的兼容性问题外,如果 Windows 注意到存在实际组策略中没有的组策略设置,它可能会删除它们。 谢谢哈利,是的,我正在对注册表进行更改,但到目前为止我还没有遇到任何问题,我通过 Doamin 控制器的两个不同 GPO 阻止了两个应用程序,并通过修改注册表值阻止了一个应用程序,所有这三个应用程序在注册表中的同一位置具有数据,并且所有三个应用程序都被阻止,即使在更新 GPO 或重新启动计算机后设置也不会被删除。所以我不知道 windows 会如何注意到有不在策略中的组策略设置。 当相关策略不再适用时,组策略的某些部分(确切的规则从未明确)会自动删除。这意味着当处理组策略更改时,或者如果组策略引擎出于任何原因决定进行清理,人为引入的设置可能会被误认为是不再适用的策略导致的设置,并自动删除。根据您的测试,我猜这些设置不会受到影响,但可以想象,这可能会在未来的更新中发生变化。 PS:你应该做的另一个测试是运行gpupdate /force
。
我已经尝试 gpupdate /force,注册表项仍然存在,应用程序也被阻止。通过删除所有组策略相关的注册表值来清理注册表也将删除我的条目,并且我的应用程序将不再被阻止。但是我将通过在某个时间间隔检查注册表值并重新应用策略(如果不存在)来管理。有没有其他的组策略清理方式?
你得问问微软。老实说,我什至不相信他们知道发生这种情况的所有可能方式。 Windows 很大,没有一个开发者能全部理解。
【参考方案1】:
我已经找到答案了,
IGroupPolicyObject - 以编程方式创建/更新策略的 Windows API。
我建议您浏览此链接,它们将深入解释以编程方式访问组策略。
Working with Group Policy Objects Programmatically
Programmatically updating local policy in Windows
【讨论】:
以上是关于如何在本地组策略对象中为特定用户应用软件限制策略?的主要内容,如果未能解决你的问题,请参考以下文章
创建 AWS IAM 策略,将正在运行的实例限制为特定安全组
Win10家庭版找不到本地组策略gpedit.msc解决办法