在远程域控制器上创建和链接 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?因为即使此代码确实有效,我仍然必须在每台服务器上安装远程服务器管理工具。应用程序需要在其上运行多个域。

在远程域控制器上创建和链接 GPO

我已经走了Powershell的方式,一切都像冠军一样工作。

我的目的是向 AD 用户添加证书。但似乎您不必使用 GPO 来做到这一点。相反,您可以使用Powershell命令执行此操作。

要创建新的 AD 用户,请按照以下指南操作:

创建活动目录用户 PowerShell 脚本

要将证书分配给现有 AD 用户,请按照以下指南操作:

使用 C#/Powershell 设置 Active Directory "安全标识映射"/"名称映射"不会添加到正确的"存储"中