我已经尝试过以下代码,但它不起作用。我有例外:
访问被拒绝。 (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有更好的方法吗? 因为即使此代码确实有效,我仍然需要在每台服务器上安装远程服务器管理工具。应用程序需要运行多个域。
答案 0 :(得分:0)
我已经采用了powershell方式,一切都像冠军一样。
我的目的是向AD用户添加证书。但似乎你不必用GPO来做。相反,您可以使用powershell命令执行此操作。
要创建新的AD用户,请按照以下指南操作:
Create Active Directory Users PowerShell Script
要将证书分配给现有AD用户,请按照以下指南操作: