如何以编程方式检索组策略设置?

时间:2011-07-21 09:59:41

标签: c# active-directory group-policy gpo

Microsoft提供了一个很好的支持COM的DLL,名为GPMGMTlib(GPMC API)来管理Active Directory中的GPO。该库导出一个名为IGPMGPO的接口,它代表一个GPO,可以执行各种操作,如设置权限,导出和导入。

遗憾的是,如果我正确地理解了reference on MSDN,那么接口无法以编程方式检索当前为GPO设置的设置,因此如果GPMGTMT是要走的路,我就有点不确定了。

以下是我的问题:

  • 如何以编程方式访问域中特定GPO的策略设置(只读是完全足够的)?使用C#或其他.NET语言的解决方案是首选。

注释:

我需要这个来自动比较林中两个域的GPO,这些GPO略有不同。我还尝试将GPO导出到XML报告并使用diff-tool,但这是耗时的方法,因为林中大约有十个域必须在接下来的几个月内多次进行比较。

1 个答案:

答案 0 :(得分:2)

您是否知道在Microsoft桌面优化包(MDOP)中分发的名为Advanced Group Policy Management(AGPM)的产品?它包括管理和比较GPO的能力。


你还有Group Policy Management Console Class Library尽管玩了一个COM对象,仍然可以使用程序集,但我不确定它是否更好。