使用 CrmDeploymentService 的配置问题
我已经在提供组织方面工作了好几天,并且遇到了一些我成功解决的问题。让我解释一下我遇到的问题,MSCrmServices 是一个在网络服务下运行的进程。 当我从控制台应用程序调用服务上的“执行”方法时 执行的所有操作都在“网络服务”帐户的上下文中运行。 网络服务帐户没有足够的权限来创建组织 行动过程中出现了很多问题。
- 不允许访问注册表。
- 不正确的 SQL Server 权限
- 没有足够的 AD 权限。
- ...
模拟不起作用,服务使用进程帐户来执行 行动。 唯一有效的方法是将 CRMAppPool 身份运行为 具有部署管理员权限的管理员(通过添加 部署管理器工具)。 但 CRM 部署中的这个问题似乎并没有对我产生影响:(。现在我在将池身份更改为系统管理员后遇到了新问题,部署服务给出了一个错误,提示“未经授权!!!!”,进一步当我检查记录它说..
进程:w3wp |组织:00000000-0000-0000-0000-000000000000 |主题:1 |类别:异常 |用户: 00000000-0000-0000-0000-000000000000 |级别:错误 | CrmException..ctor
at CrmException..ctor(字符串消息,异常innerException,Int32 errorCode,布尔值isFlowControlException,布尔值enableTrace)
at CrmException..ctor(字符串消息,Int32 错误代码)
在 CrmObjectNotFoundException..ctor(BusinessEntityMoniker 名字)
在 BusinessProcessObject.DoRetrievePublishableSingle(BusinessEntityMoniker 名称、EntityExpression 实体表达式、布尔值 includeUnpublished、ExecutionContext 上下文)
位于 BusinessProcessObject.RetrieveUnpublished(BusinessEntityMoniker 名字对象、EntityExpression 实体表达式、ExecutionContext 上下文)
在 OrganizationUIService.RetrieveUnpublished(BusinessEntityMoniker 名字对象、EntityExpression 实体表达式、ExecutionContext 上下文)
在 OrganizationUIService.RetrieveOldFormXml(BusinessEntityMoniker 名字、ExecutionContext 上下文)
在 OrganizationUIService.ExtractAndSaveFormLabels(IBusinessEntity 实体、ExecutionContext 上下文)
在 OrganizationUIService.Create(IBusinessEntity 实体, ExecutionContext 上下文)
在 ImportFormXmlHandler.createOrgUI(OrganizationUIService orgUIService,XmlNode formNode)
在 ImportFormXmlHandler.ImportItem()
在 ImportHandler.Import()
在 ImportHandler.Import()
在 RootImportHandler.RunImport()
在 ImportXml.RunImport()
在 NewOrgUtility.OrganizationImportDefaultData(Guid 组织Id, 版本现有数据库版本,字符串导入文件)
在 NewOrgUtility.OrganizationImportDefaultData(Guid 组织 ID, 字符串导入文件)
在NewOrgUtility.ConfigureOrganization(字符串organizationId,字符串 组织名称、字符串 userAccountName、字符串 userFirstName、字符串 userLastName、字符串 userEmail、字符串 languageCode、字符串 privilegedUserGroup,字符串 sqlAccessGroup,字符串 userGroup,字符串 reportingGroup、字符串、privilegedReportingGroup、布尔值 grantNetworkServiceAccess、布尔 autoGroupManagement、字符串 导入文件位置,布尔值 sqmOption)
在CreateOrganizationInstaller.Create(Guid OrganizationId, String 组织唯一名称,字符串 组织友好名称,字符串 baseCurrencyCode,字符串baseCurrencyName,字符串baseCurrencySymbol, 字符串初始用户域名、字符串初始用户名字、字符串 初始用户姓氏,字符串 sqlServerName,Uri 报告服务器Url,字符串 privilegedUserGroupName,字符串 sqlAccessGroupName,字符串 用户组名称,字符串报告组名称,字符串 privilegedReportingGroupName、字符串 applicationPath、字符串 languageId、布尔 sqmOption、字符串organizationCollation、 多重租户(multipleTenancy)
在CreateOrganizationInstaller.Create(ICreateOrganizationInfo 组织信息)
在 OrganizationService.Create(DeploymentEntity 实体)
在CreateRequest.Process()处
在 CrmDeploymentService.Execute(DeploymentServiceRequest 请求)
在 RuntimeMethodHandle._InvokeMethodFast(对象目标,对象[] 参数、SignatureStruct& sig,方法属性方法属性, RuntimeTypeHandle类型Owner)
在 RuntimeMethodHandle.InvokeMethodFast(对象目标,对象[] 参数、签名 sig、MethodAttributes methodAttributes、 RuntimeTypeHandle类型Owner)
在 RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder 活页夹、Object[] 参数、CultureInfo 文化、布尔值 跳过可见性检查)
在 RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder活页夹、Object[]参数、CultureInfo文化)
at LogicalMethodInfo.Invoke(对象目标,Object[]值)
在 WebServiceHandler.Invoke()
在 WebServiceHandler.CoreProcessRequest()
在 SyncSessionlessHandler.ProcessRequest(HttpContext 上下文)
在 CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 HttpApplication.ExecuteStep(IExecutionStep 步骤,Boolean& 同步完成)
在ApplicationStepManager.ResumeSteps(异常错误)
在 HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext 上下文、AsyncCallback cb、对象额外数据)
在 HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
在 HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
在 ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
对此有什么想法吗?
你们有人遇到过这样的问题吗? 我一直在尝试解决这个问题,但运气不好。
i've been working on Provision of an organization for quite a few days , and had faced few issues which i was successful in resolving them.Let me explain abt the issues i faced, the MSCrmServices is a process that is running under the Network Service.
When I call the 'Execute' method on the service from a console application
all actions preformed run under the context of the 'Network Service' account.
The Network Service account has not enough rights to create an organization
so many problems occur during the action.
- Registry access not allowed.
- Not the correct SQL Server rights
- Not enough AD rights.
- ...
Impersonation doesn't work, the service uses the process account to perform
the actions. The only thing that works is to run the CRMAppPool identity as
an administrator which has the deployment administrator rights (added through
the Deployment manager tool).
But this issues in CRM deployment doesnt seem to faceoff from me :(. now that i have a new issue after changing the Pool identity to the system administrator, the deployment service gives an error saying Unauthorized!!!! and further when i check the log it says..
Process: w3wp |Organization:00000000-0000-0000-0000-000000000000
|Thread: 1 |Category: Exception |User:
00000000-0000-0000-0000-000000000000 |Level: Error |
CrmException..ctorat CrmException..ctor(String message, Exception innerException, Int32
errorCode, Boolean isFlowControlException, Boolean enableTrace)at CrmException..ctor(String message, Int32 errorCode)
at CrmObjectNotFoundException..ctor(BusinessEntityMoniker moniker)
at
BusinessProcessObject.DoRetrievePublishableSingle(BusinessEntityMoniker
moniker, EntityExpression entityExpression, Boolean
includeUnpublished, ExecutionContext context)at BusinessProcessObject.RetrieveUnpublished(BusinessEntityMoniker
moniker, EntityExpression entityExpression, ExecutionContext context)at OrganizationUIService.RetrieveUnpublished(BusinessEntityMoniker
moniker, EntityExpression entityExpression, ExecutionContext context)at OrganizationUIService.RetrieveOldFormXml(BusinessEntityMoniker
moniker, ExecutionContext context)at OrganizationUIService.ExtractAndSaveFormLabels(IBusinessEntity
entity, ExecutionContext context)at OrganizationUIService.Create(IBusinessEntity entity,
ExecutionContext context)at ImportFormXmlHandler.createOrgUI(OrganizationUIService
orgUIService, XmlNode formNode)at ImportFormXmlHandler.ImportItem()
at ImportHandler.Import()
at ImportHandler.Import()
at RootImportHandler.RunImport()
at ImportXml.RunImport()
at NewOrgUtility.OrganizationImportDefaultData(Guid organizationId,
Version existingDatabaseVersion, String importFile)at NewOrgUtility.OrganizationImportDefaultData(Guid organizationId,
String importFile)at NewOrgUtility.ConfigureOrganization(String organizationId, String
organizationName, String userAccountName, String userFirstName, String
userLastName, String userEmail, String languageCode, String
privilegedUserGroup, String sqlAccessGroup, String userGroup, String
reportingGroup, String privilegedReportingGroup, Boolean
grantNetworkServiceAccess, Boolean autoGroupManagement, String
importFileLocation, Boolean sqmOption)at CreateOrganizationInstaller.Create(Guid organizationId, String
organizationUniqueName, String organizationFriendlyName, String
baseCurrencyCode, String baseCurrencyName, String baseCurrencySymbol,
String initialUserDomainName, String initialUserFirstName, String
initialUserLastName, String sqlServerName, Uri reportServerUrl, String
privilegedUserGroupName, String sqlAccessGroupName, String
userGroupName, String reportingGroupName, String
privilegedReportingGroupName, String applicationPath, String
languageId, Boolean sqmOption, String organizationCollation,
MultipleTenancy multipleTenancy)at CreateOrganizationInstaller.Create(ICreateOrganizationInfo
organizationInfo)at OrganizationService.Create(DeploymentEntity entity)
at CreateRequest.Process()
at CrmDeploymentService.Execute(DeploymentServiceRequest request)
at RuntimeMethodHandle._InvokeMethodFast(Object target, Object[]
arguments, SignatureStruct& sig, MethodAttributes methodAttributes,
RuntimeTypeHandle typeOwner)at RuntimeMethodHandle.InvokeMethodFast(Object target, Object[]
arguments, Signature sig, MethodAttributes methodAttributes,
RuntimeTypeHandle typeOwner)at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr,
Binder binder, Object[] parameters, CultureInfo culture, Boolean
skipVisibilityChecks)at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr,
Binder binder, Object[] parameters, CultureInfo culture)at LogicalMethodInfo.Invoke(Object target, Object[] values)
at WebServiceHandler.Invoke()
at WebServiceHandler.CoreProcessRequest()
at SyncSessionlessHandler.ProcessRequest(HttpContext context)
at
CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()at HttpApplication.ExecuteStep(IExecutionStep step, Boolean&
completedSynchronously)at ApplicationStepManager.ResumeSteps(Exception error)
at
HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext
context, AsyncCallback cb, Object extraData)at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
Any idea on this.?
Have anyone of you come across such an issue. I've been trying to resolve this issue but hard luck.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
编辑:其实你并不孤单。
http://www.eggheadcafe.com/software/aspnet/31450420/ crmdeploymentservice-crm.aspx
希望有帮助。
Edit: Actually you're not alone.
http://www.eggheadcafe.com/software/aspnet/31450420/crmdeploymentservice-crm.aspx
Hope that helps.