2
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 用户对报告组没有读写权限......”

4

3 回答 3

6

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

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

总结两篇文章:

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

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

于 2012-11-09T14:15:53.903 回答
1

我在 CRM 2015 中遇到了同样的问题,并且花了很多时间发现除了 Mike_Matthews_II 清单之外,对于 CRM 2015,还需要 2 个额外的步骤。

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

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

有关详细信息,请参阅... 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 个附加步骤。

于 2016-06-21T20:07:05.130 回答
0

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

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

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

于 2014-11-26T04:03:52.090 回答