Показать сообщение отдельно
Старый 09.11.2009, 23:49   #23  
bstan is offline
bstan
Участник
Аватар для bstan
 
26 / 11 (1) +
Регистрация: 21.10.2008
Адрес: Екатеринбург
Приветствую!
Не знаю, есть ли смысл что-либо писать по этому вопросу - уже год прошел Да и пользователя не могу добавить из того же домена, что и CRM
Но тем не менее, проблема такая же есть
Данный ключить указывает на то, может ли CRM сама автоматически добавлять пользователей в доменные группы, для предоставление соответствующих разерешений (к примеру - доступ к отчетам в RS). Это происходит, если значит стоит 0
Если значение ключа = 1, то для предоставление такого доступа необходимо ручками в AD добавлять пользователей.

Проблема в том, что когда значение этого ключа стоит 0 - пользователь с полным набором прав (не тот, который устанавливал) не может создать пользователя. Если значение = 1, то все проходит на ура

В связи с этим вопрос. Необходимы ли дополнительные разрешения в AD для пользователя, который может предоставлять доступ к CRM? Или быть может CRM от имени своей какой-нибудь учетки все это делает и может у нее обрезаны права?
Дайте ответ, товарищи, кто знает

Система: CRM 4.0 + UR 6, домен win2003. Пользователь является локальным администратором, администратором CRM и просто доменным пользователем
Дополнительно в этом же домене стоит CRM версии 3.0. Но ранее конфликтов не было

Вот логи с сервера

Цитата:
[2009-11-10 01:43:01.0] Process: w3wp |Organization:744f4d1a-28e3-4c32-9f6e-94d0a17a6cf1 |Thread: 1 |Category: Application |User: 00000000-0000-0000-0000-000000000000 |Level: Error | ActiveDirectoryUtility.GetDomainPath
>Unable to get DNS name of domain MyDomain: System.Net.Sockets.SocketException: No such host is known
> at System.Net.Dns.GetAddrInfo(String name)
> at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
> at System.Net.Dns.GetHostEntry(String hostNameOrAddress)
> at Microsoft.Crm.Application.Utility.ActiveDirectoryUtility.GetDomainPath(String netBiosName)
[2009-11-10 01:43:05.4] Process: w3wp |Organization:744f4d1a-28e3-4c32-9f6e-94d0a17a6cf1 |Thread: 6 |Category: Exception |User: 6b1b3d46-197e-4565-b85b-59aca9de2714 |Level: Error | CrmException..ctor
at CrmException..ctor(String message, Exception innerException, Int32 errorCode, Boolean isFlowControlException, Boolean enableTrace)
at ServerLocatorService.GetCrmUserIdFromDatabase(Guid organizationId, String authenticationInfo)
at ServerLocatorService.GetCrmUserId(Guid organizationId, String authenticationInfo)
at LocatorService.GetCrmUserId(Guid organizationId, String authenticationInfo)
at SystemUserServiceInternal`1.CheckUserDoesNotExist(Guid activeDirectoryGuid, SecurityIdentifier identifier, Boolean isActiveDirectoryUser, ExecutionContext context)
at SystemUserServiceInternal`1.CreateInternal(Guid organizationId, IBusinessEntity systemuser, ExecutionContext context)
at SystemUserServiceInternal`1.Create(IBusinessEntity systemuser, ExecutionContext context)
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 InternalOperationPlugin.Execute(IPluginExecutionContext context)
at PluginStep.Execute(PipelineExecutionContext context)
at Pipeline.Execute(PipelineExecutionContext context)
at MessageProcessor.Execute(PipelineExecutionContext context)
at InternalMessageDispatcher.Execute(PipelineExecutionContext context)
at ExternalMessageDispatcher.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at RequestBase.Process(Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at RequestBase.Process(CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at CrmServiceInternal.Execute(RequestBase request, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at InProcessCrmService.Execute(Object request)
at PlatformCommand.ExecuteInternal()
at CreateCommand.Execute()
at DataSource.Create(Entity entity, Boolean performDuplicateCheck)
at EntityProxy.Create(Boolean performDuplicateCheck)
at SystemUser.Create(Boolean performDuplicateCheck)
at AppForm.SaveEntity(EntityProxy entity, FormEventId eventType, String redirectPath, Boolean performDuplicateCheck)
at AppForm.RaiseDataEvent(FormEventId eventId)
at EndUserForm.Initialize(Entity entity)
at CustomizableForm.Execute(Entity entity, String formType)
at CustomizableForm.Execute(Entity entity)
at SystemUserDetailPage.ConfigureForm()
at AppUIPage.OnPreRender(EventArgs e)
at Control.PreRenderRecursiveInternal()
at Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at Page.ProcessRequest()
at Page.ProcessRequestWithNoAssert(HttpContext context)
at Page.ProcessRequest(HttpContext context)
at hostllc_biz_users_edit_aspx.ProcessRequest(HttpContext context)
at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at HttpApplication.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)
>Crm Exception: Message: User Was Not Found, ErrorCode: -2147220969
[2009-11-10 01:43:05.5] Process: w3wp |Organization:744f4d1a-28e3-4c32-9f6e-94d0a17a6cf1 |Thread: 6 |Category: Platform |User: 6b1b3d46-197e-4565-b85b-59aca9de2714 |Level: Error | MessageProcessor.Execute
>MessageProcessor fail to process message 'Create' for 'systemuser'.
[2009-11-10 01:43:05.5] Process: w3wp |Organization:744f4d1a-28e3-4c32-9f6e-94d0a17a6cf1 |Thread: 6 |Category: Exception |User: 6b1b3d46-197e-4565-b85b-59aca9de2714 |Level: Error | CrmException..ctor
at CrmException..ctor(String message, Exception innerException, Int32 errorCode, Boolean isFlowControlException, Boolean enableTrace)
at SoapExtensionExceptionHandlerBase.GetCrmException(Exception exception)
at SoapExtensionExceptionHandlerBase.GetCrmException(Exception exception)
at SoapExtensionExceptionHandlerBase.GetCrmException(Exception exception)
at CrmExceptionHandler.RetrieveCrmException(Exception exception)
at InProcessCrmService.Execute(Object request)
at PlatformCommand.ExecuteInternal()
at CreateCommand.Execute()
at DataSource.Create(Entity entity, Boolean performDuplicateCheck)
at EntityProxy.Create(Boolean performDuplicateCheck)
at SystemUser.Create(Boolean performDuplicateCheck)
at AppForm.SaveEntity(EntityProxy entity, FormEventId eventType, String redirectPath, Boolean performDuplicateCheck)
at AppForm.RaiseDataEvent(FormEventId eventId)
at EndUserForm.Initialize(Entity entity)
at CustomizableForm.Execute(Entity entity, String formType)
at CustomizableForm.Execute(Entity entity)
at SystemUserDetailPage.ConfigureForm()
at AppUIPage.OnPreRender(EventArgs e)
at Control.PreRenderRecursiveInternal()
at Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at Page.ProcessRequest()
at Page.ProcessRequestWithNoAssert(HttpContext context)
at Page.ProcessRequest(HttpContext context)
at hostllc_biz_users_edit_aspx.ProcessRequest(HttpContext context)
at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at HttpApplication.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)
>Crm Exception: Message: , ErrorCode: -2147187707, InnerException: System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
[2009-11-10 01:43:05.5] Process: w3wp |Organization:744f4d1a-28e3-4c32-9f6e-94d0a17a6cf1 |Thread: 6 |Category: Application |User: 00000000-0000-0000-0000-000000000000 |Level: Error | ErrorInformation.LogError
>MSCRM Error Report:
--------------------------------------------------------------------------------------------------------
Error: Exception has been thrown by the target of an invocation.

Error Message: Exception has been thrown by the target of an invocation.

Source File: Not available

Line Number: Not available

Request URL: http://<servername>/<crmorg>/biz/users/edit.aspx?_CreateFromType=10&_CreateFromId={BB9A17FC-9CF1-DB11-AAEF-000C298F76CC}

Stack Trace Info: [UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))]


[TargetInvocationException: Exception has been thrown by the target of an invocation.]
at System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[] args)
at Microsoft.Crm.BusinessEntities.SecurityUtils.AddPrincipalToGroup(SecurityIdentifier sid, DirectoryEntry groupEntry)
at Microsoft.Crm.BusinessEntities.SecurityUtils.AddPrincipalToGroup(Guid principalId, SecurityIdentifier sid, Guid groupId)
at Microsoft.Crm.BusinessEntities.SecurityLibrary.AddPrincipalToGroup(Guid principalId, SecurityIdentifier sid, Guid groupId)
at Microsoft.Crm.ObjectModel.SystemUserServiceInternal`1.ManageGroupsHelper(Guid activeDirectoryGuid, SecurityIdentifier identifier, Boolean remove, ExecutionContext context)
at Microsoft.Crm.ObjectModel.SystemUserServiceInternal`1.AddPrincipalToGroups(Guid activeDirectoryGuid, SecurityIdentifier identifier, ExecutionContext context)
at Microsoft.Crm.ObjectModel.SystemUserServiceInternal`1.CreateInternal(Guid organizationId, IBusinessEntity systemuser, ExecutionContext context)
at Microsoft.Crm.ObjectModel.SystemUserServiceInternal`1.Create(IBusinessEntity systemuser, ExecutionContext context)

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Web.Services.Protocols.LogicalMethodInfo.Invoke(Object target, Object[] values)
at Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IPluginExecutionContext context)
at Microsoft.Crm.Extensibility.PluginStep.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.Pipeline.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.MessageProcessor.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.InternalMessageDispatcher.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.ExternalMessageDispatcher.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.RequestBase.Process(Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.RequestBase.Process(CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.CrmServiceInternal.Execute(RequestBase request, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.InProcessCrmService.Execute(Object request)
at Microsoft.Crm.Application.Platform.ServiceCommands.PlatformCommand.ExecuteInternal()
at Microsoft.Crm.Application.Platform.ServiceCommands.CreateCommand.Execute()
at Microsoft.Crm.Application.Platform.DataSource.Create(Entity entity, Boolean performDuplicateCheck)
at Microsoft.Crm.Application.Platform.EntityProxy.Create(Boolean performDuplicateCheck)
at Microsoft.Crm.Application.Platform.SystemUser.Create(Boolean performDuplicateCheck)
at Microsoft.Crm.Application.Forms.AppForm.SaveEntity(EntityProxy entity, FormEventId eventType, String redirectPath, Boolean performDuplicateCheck)

Последний раз редактировалось bstan; 09.11.2009 в 23:51. Причина: уточнение информации