无法通过crm 2011中的c#以编程方式创建组织

时间:2012-08-21 14:55:44

标签: c# dynamics-crm-2011

public void Main2()
{
    DeploymentServiceClient service = Microsoft.Xrm.Sdk.Deployment.Proxy
        .ProxyClientHelper.CreateClient(new Uri("http://xxxxxxxxx:5555/XRMDeployment/2011/Deployment.svc"));
    Console.WriteLine(CreateOrganization(service
        , new Organization
        {
            UniqueName = "testOrgProv1",
            FriendlyName = "testOrgProv1",
            SqlServerName = "CRMDDC2",
            SrsUrl = @"http://crmddc2/Reports",
            BaseCurrencyCode = RegionInfo.CurrentRegion.ISOCurrencySymbol,
            BaseCurrencyName = RegionInfo.CurrentRegion.CurrencyNativeName,
            BaseCurrencySymbol = RegionInfo.CurrentRegion.CurrencySymbol,
            State = Microsoft.Xrm.Sdk.Deployment.OrganizationState.Enabled
        }));
}

Guid? CreateOrganization(IDeploymentService deploymentService
    , Organization org)
{
    BeginCreateOrganizationRequest req = new BeginCreateOrganizationRequest
    {
        Organization = org
    };

    BeginCreateOrganizationResponse resp = deploymentService.Execute(req) as BeginCreateOrganizationResponse;
    return resp != null ? (Guid?)resp.OperationId : null;
}

但我收到错误

  

“部署服务无法处理请求,因为一个或多个验证检查失败。”

我正在使用本地管理员帐户,它也是部署管理员,

ps:当我以不同的方式使用类似的代码时,弹出相同的错误,但内部消息是

  

“当前的Active Directory用户对报告组没有读写权限.....”

3 个答案:

答案 0 :(得分:6)

我正在解决同样的问题。我发现两篇文章提出了两种不同的解决方案:

这篇文章让我想起了其中一个链接。在第一篇文章中,作者提到部署服务(检查IIS应用程序池)身份需要通过OU为ReportingGroup授予AD权限。

总结这两篇文章:

  • 查找CrmDeploymentServiceAppPool的应用程序池标识,此后< identiy>
  • 添加< identiy>到本地管理员和CRM_WPG组
  • 将控制委派给< identiy>在包含PrivUserGroup和SqlAccessGroup的OU的AD中
  • Grant< identiy> “secpol.msc”本地权限管理中的“作为服务登录”
  • 向< identiy>授予“sysadmin”权限在SQL服务器
  • 授予对< identiy>的读/写权限在CRM中的MSCRM_Web和Trace文件夹
  • 授予对< identiy>的读/写权限在“regedit”上的条目HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSCRM和HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ services \ MSCRMSandboxService子项
  • 重置应用程序池
  • 运行脚本

如果这不起作用,请仔细检查上面的链接,向上帝祈祷,然后致电MS Tech支持(订单由您决定)。 (另外,如果您发现缺少某些内容,请随时发布或编辑。)

答案 1 :(得分:1)

我在CRM 2015中遇到了同样的问题,花了很多时间才发现除了Mike 2015的Mike_Matthews_II清单之外还有2个额外的步骤。

除了Mike迈出的一步...... - 将控制权委托给包含PrivUserGroup和SqlAccessGroup的OU的AD ...

...对报告组和PrivReporting Group执行相同的操作

有关详情,请参阅...... https://blogs.msdn.microsoft.com/niran_belliappa/2015/07/07/error-when-trying-to-remove-server-roles-in-dynamics-crm-2013/

(不同的情况,但类似的错误信息)

此外,有关使用部署服务创建等组织的设置步骤的原始文档,请在此链接下载...

https://www.microsoft.com/en-us/download/confirmation.aspx?id=45022

在本文档中,请查看" Microsoft Dynamics CRM设置和服务所需的最低权限:部署Web服务"

请注意,本文档忽略了上面列出的2个额外步骤。

答案 2 :(得分:0)

如果您在遵循Mike_Matthews_II核对清单后仍有同样的问题,请检查以下内容:

  • 确保SQL Server有足够的空间。
  • 在SQL Server中,确保没有具有相同名称的现有数据库(类似于SameDeploymentName_MSCRM)。

在我的测试环境中,这些都抛出了相同的错误消息。