在远程域控制器上创建和链接 GPO
本文关键字:链接 GPO 创建 程域 控制器 | 更新日期: 2023-09-27 18:35:47
我已经尝试了下面的代码,但它不起作用。我有一个例外:
访问被拒绝。(HRESULT的例外情况:0x80070005 (E_ACCESSDENIED))
在这一行上:
GPMGPO gpo = (GPMGPO) gpd.CreateGPO();
这是实际代码:
public void CreateAndLinkGPO()
{
string strGPO = "Test GPO";
string strOU = "LDAP://DC=testdc,DC=local";
GPM gpm = new GPM();
GPMConstants gpc = (GPMConstants) gpm.GetConstants();
GPMDomain gpd = (GPMDomain) gpm.GetDomain(Environment.GetEnvironmentVariable("USERDNSDOMAIN"), "", gpc.UseAnyDC);
GPMSearchCriteria searchOBJ = gpm.CreateSearchCriteria();
searchOBJ.Add(gpc.SearchPropertyGPODisplayName, gpc.SearchOpEquals, strGPO);
GPMGPOCollection objGPOlist = gpd.SearchGPOs(searchOBJ);
GPMSOM gpSom = gpd.GetSOM(strOU);
GPMGPO gpo = (GPMGPO) gpd.CreateGPO();
gpSom.CreateGPOLink(-1, objGPOlist[1]);
}
有没有更好的方法来创建和链接 GPO?因为即使此代码确实有效,我仍然必须在每台服务器上安装远程服务器管理工具。应用程序需要在其上运行多个域。
我已经走了Powershell的方式,一切都像冠军一样工作。
我的目的是向 AD 用户添加证书。但似乎您不必使用 GPO 来做到这一点。相反,您可以使用Powershell命令执行此操作。
要创建新的 AD 用户,请按照以下指南操作:
创建活动目录用户 PowerShell 脚本
要将证书分配给现有 AD 用户,请按照以下指南操作:
使用 C#/Powershell 设置 Active Directory "安全标识映射"/"名称映射"不会添加到正确的"存储"中