【发布时间】:2011-03-15 13:07:23
【问题描述】:
如何在 AD 中设置组策略?我能够创建我的 OU,但我还需要附加链接到它的组策略。这就是我目前所拥有的。
string strOU = "OU=test454545,OU=Clients,OU=Clients,DC=domain,DC=net";
GPMGMTLib.GPM gpm = new GPMGMTLib.GPM();
GPMGMTLib.GPMConstants gpc = gpm.GetConstants();
GPMGMTLib.GPMDomain gpd = gpm.GetDomain(Environment.GetEnvironmentVariable("USERDNSDOMAIN"), "", gpc.UseAnyDC);
GPMGMTLib.GPMSOM gpSom = gpd.GetSOM(strOU);
GPMGMTLib.GPMGPO gpo = gpd.CreateGPO();
gpo.DisplayName = "TestOutCome";
gpSom.CreateGPOLink(-1,gpo);
这仍然不会创建 GPO 链接,但我想要做的只是链接现有的 GPO,有什么想法吗?并感谢您的帮助。
好吧,越来越近了,这只是创建了一个策略,实际上并没有链接现有的策略......
string strGPO = "Default Security with web access";
string strOU = "OU=test454545,OU=Clients,OU=Clients,DC=domain,DC=net";
GPMGMTLib.GPM gpm = new GPMGMTLib.GPM();
GPMGMTLib.GPMConstants gpc = gpm.GetConstants();
GPMGMTLib.GPMDomain gpd = gpm.GetDomain(Environment.GetEnvironmentVariable("USERDNSDOMAIN"), "", gpc.UseAnyDC);
GPMGMTLib.GPMSearchCriteria searchOBJ = gpm.CreateSearchCriteria();
searchOBJ.Add(gpc.SearchPropertyGPODisplayName, gpc.SearchOpEquals, strGPO);
GPMGMTLib.GPMGPOCollection objGPOlist = gpd.SearchGPOs(searchOBJ);
GPMGMTLib.GPMSOM gpSom = gpd.GetSOM(strOU);
GPMGMTLib.GPMGPO gpo = gpd.CreateGPO();
gpSom.CreateGPOLink(-1,gpo);
更新和工作:
这用于使用 C# 将现有 GPO 链接到 OU
1) 安装http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=0a6d4c24-8cbd-4b35-9272-dd3cbfc81887
2) 参考 gpmgmt.dll(在安装目录中找到)
3) 您可能需要安装 .Net 1.1
4) 添加对 VS 的引用
5) 使用 GPMGMTLib 添加;使用 GPOADMINLib;投射
string strGPO = "Default Security with web access";
string strOU = "OU=test454545,OU=Clients,OU=clients,DC=domainh,DC=net";
GPMGMTLib.GPM gpm = new GPMGMTLib.GPM();
GPMGMTLib.GPMConstants gpc = gpm.GetConstants();
GPMGMTLib.GPMDomain gpd = gpm.GetDomain(Environment.GetEnvironmentVariable("USERDNSDOMAIN"), "", gpc.UseAnyDC);
GPMGMTLib.GPMSearchCriteria searchOBJ = gpm.CreateSearchCriteria();
searchOBJ.Add(gpc.SearchPropertyGPODisplayName, gpc.SearchOpEquals, strGPO);
GPMGMTLib.GPMGPOCollection objGPOlist = gpd.SearchGPOs(searchOBJ);
GPMGMTLib.GPMSOM gpSom = gpd.GetSOM(strOU);
GPMGMTLib.GPMGPO gpo = gpd.CreateGPO();
gpSom.CreateGPOLink(-1,objGPOlist[1]);
【问题讨论】:
-
有人吗?这不可能……
-
您在 22 分钟前问过。请耐心等待。
-
所以 gpd.GETSOM("Default Security with web access") 正在创建一个新的 ou?
-
不,它正在创建一个新的空白 GPO
标签: c# .net active-directory