通过 AD 组策略以编程方式部署 MSI 包

通过 AD 组策略以编程方式部署 MSI 包

我正在寻找一种通过组策略以编程方式将 MSI 部署到一组计算机(包含在 AD 中的单个 OU 内)的方法。

假设:

  1. 包含 MSI 的网络共享已创建并具有适当的权限
  2. 在执行代码之前,手动将 MSI 复制到共享中
  3. 包含目标计算机的 OU 已存在

有没有办法以编程方式创建 GPO 和相关的 GP 链接?

任何语言都可以。C#、Powershell、C++ 等

答案1

如果你希望以编程方式使用 GP 对象,那么你需要查看Microsoft 的 IGPMGPO 接口

这里的问题是,您无法在 GPO 中创建新的策略设置,但您可以修改 GPO 本身(复制 GPO、启用/禁用设置组、设置 WMI 过滤器、修改 ACL 等)。因此,如果您创建一个将手动执行安装的 GPO,则可以使用此界面修改您的权限或过滤器以扩展目标。但据我所知,没有可用于修改 GPO 内设置的属性的界面。

此时,您进入了一个我不熟悉的编程领域,因此我无法提供任何我自己的示例。但链接会将您带到 MSDN 参考资料,我认为任何有信心说“任何语言都可以”的人可能都能够阅读文档并了解它。

但对于别人的作品,我发现MSDN Social 上的此内容(在 Google 搜索 IGPMGPO 时位于顶部附近)

编辑 :: 我刚刚有一位同事指出,GP 对象只是写入的文件的集合(文件夹)\\域\SYSVOL\域\策略\GUID并且,如果您愿意,您可以使用上面的界面填写该路径,然后将任何属性更改直接写入 GPO 底层存储。最后,您将返回上面的界面并切换设置(例如,计算机启用/禁用)以更新数据库中的版本标记,并使新设置从存储中读取并推送。我从来没有这样做过,他强调“可以,但我不会“ 方面

相关内容