Microsoft 提供了一个很好的支持 COM 的 DLL,名为 GPMGMTlib ( GPMC API ) 来管理 Active Directory 中的 GPO。这个库导出了一个名为IGPMGPO的接口,它代表一个 GPO,可以做各种各样的事情,比如设置权限、导出和导入。
可悲的是,如果我正确理解了MSDN 上的参考,这些接口无法以编程方式检索当前为 GPO 设置的设置,所以我有点不确定 GPMGTMT 是否可行。
这是我的问题:
- 如何以编程方式访问(只读完全足够)域中特定 GPO 的策略设置?首选使用 C# 或其他 .NET 语言的解决方案。
注解:
我需要它来自动比较森林中两个域的 GPO,它们略有不同。我还尝试将 GPO 导出到 XML 报告并使用 diff 工具,但这是一种耗时的方式,因为在接下来的几个月中,森林中大约有十个域必须进行多次比较。