Skip to main content

Notifications

Announcements

No record found.

Microsoft Dynamics CRM (Archived)

Principal user is missing prvWriteActivity privilege (but user is already admin)

(0) ShareShare
ReportReport
Posted on by 417
Crm Exception: Message: Principal user (Id=6a515dea-ed38-e411-932a-0050569e3da8, type=8) is missing prvWriteActivity privilege (Id=0dc8f72c-57d5-4b4d-8892-fe6aac0e4b81), ErrorCode: -2147220960

But this user is admin:

principle-user-is-missing-prvWriteActivity.png

How is that even possible?

EDIT: Added full error log

	at SecurityLibrary.ThrowCrmSecurityException(SecurityPrincipal principal, Guid privilegeId, Int32 errorCode, ExecutionContext context)  ilOffset = 0x6B
	at SecurityLibrary.CheckPrivilege(SecurityPrincipal principal, Guid privilege, ExecutionContext context)  ilOffset = 0x6A
	at AddressManager.GetOwnerCandidate(AddressEntry addressEntry)  ilOffset = 0x50
	at AddressResolver.BuildResolvedAddressEntry(AddressCategory category, BusinessEntity businessEntity, Guid& objectId, Boolean active, String emailAddressMatched)  ilOffset = 0x58
	at AddressResolver.GetPrunedList(BusinessEntityCollection responseCollection, AddressCategory category, Hashtable removeDuplicateFilter, Dictionary`2 removeMultipleMatch)  ilOffset = 0x7F
	at AddressResolver.DoResolve(AddressEntry[] addressEntriesToResolve, Int32[] objectTypes, Boolean matchPartialEmailAddresses)  ilOffset = 0x7A
	at AddressManager.ResolveToAll(AddressEntry[] addressEntries, Int32[] entityList)  ilOffset = 0x13
	at EmailService.GetResolvedAddressEntries(AddressEntry[][] allAddressEntries, AddressManager addressManager)  ilOffset = 0x0
	at EmailService.Deliver(Boolean userPromote, Guid emailId, String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, BusinessEntityCollection attachments, Guid campaignResponseId, Entity emailDeltaEntity, ExecutionContext context, Boolean validateBeforeDeliver)  ilOffset = 0x2C
	at EmailService.DeliverIncoming(String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, BusinessEntityCollection attachments, Entity extraProperties, Boolean validateBeforeCreate, ExecutionContext context)  ilOffset = 0x8D
	at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)  ilOffset = 0xFFFFFFFF
	at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)  ilOffset = 0x16
	at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)  ilOffset = 0x6C
	at LogicalMethodInfo.Invoke(Object target, Object[] values)  ilOffset = 0x3F
	at InternalOperationPlugin.Execute(IServiceProvider serviceProvider)  ilOffset = 0x43
	at V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)  ilOffset = 0x0
	at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)  ilOffset = 0x64
	at PipelineInstrumentationHelper.Execute(Boolean instrumentationEnabled, String stopwatchName, ExecuteWithInstrumentation action, PipelineExecutionContext context)  ilOffset = 0x93
	at Pipeline.Execute(PipelineExecutionContext context)  ilOffset = 0xDE
	at PipelineInstrumentationHelper.Execute(Boolean instrumentationEnabled, String stopwatchName, ExecuteWithInstrumentation action, PipelineExecutionContext context)  ilOffset = 0x35
	at MessageProcessor.Execute(PipelineExecutionContext context)  ilOffset = 0x218
	at InternalMessageDispatcher.Execute(PipelineExecutionContext context)  ilOffset = 0xE4
	at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid callerRegardingObjectId, UserType userType, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)  ilOffset = 0x22D
	at ExternalMessageDispatcher.Execute(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid callerRegardingObjectId, UserType userType, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId)  ilOffset = 0x0
	at OrganizationSdkServiceInternal.ExecuteRequestRequestWithInstrumentation(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode, Object operation, UserType targetUserType)  ilOffset = 0x0
	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, Guid targetCallerRegardingObjectId, UserType targetUserType, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode)  ilOffset = 0x2E
	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode, ExecutionContext executionContext)  ilOffset = 0x4B
	at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode, ExecutionContext executionContext)  ilOffset = 0x0
	at OrganizationSdkService.Execute(OrganizationRequest request)  ilOffset = 0x0
	at   ilOffset = 0xFFFFFFFF
	at SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)  ilOffset = 0x222
	at DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)  ilOffset = 0x97
	at ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)  ilOffset = 0x48
	at MessageRpc.Process(Boolean isOperationContextSet)  ilOffset = 0x65
	at Wrapper.Resume(Boolean& alreadyResumedNoLock)  ilOffset = 0x1B
	at ThreadBehavior.ResumeProcessing(IResumeMessageRpc resume)  ilOffset = 0x8
	at ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x79
	at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x9
	at QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()  ilOffset = 0x35
	at ThreadPoolWorkQueue.Dispatch()  ilOffset = 0xA4
Crm Exception: Message: Principal user (Id=6a515dea-ed38-e411-932a-0050569e3da8, type=8) is missing prvWriteActivity privilege (Id=0dc8f72c-57d5-4b4d-8892-fe6aac0e4b81), ErrorCode: -2147220960

*This post is locked for comments

  • Flydancer Profile Picture
    Flydancer 1,332 on at
    RE: Principal user is missing prvWriteActivity privilege (but user is already admin)

    Did you access the userby opening a random user and replacing the guid in the url?

    Sadly this doesn't always works like expected and you may looking at the wrong user even when the url says otherwise. Try removing the sessionid at the end to be sure

  • Suggested answer
    Jarrod Williams Profile Picture
    Jarrod Williams 1,747 on at
    RE: Principal user is missing prvWriteActivity privilege (but user is already admin)

    I don't have access to a German language install and don't have an environment I can throw the MUI on right now, but looking at it, but I would confirm that the role you are looking at is actually System Administrator.  On the English version it is two words with capitalization on both words.  Looking at it, I would say that there was a second role created, called Systemadministrator and that's the role that the user has.  

    Reasoning on this, System Administrator role exempts the user from security checks.  It just goes, oh you have sysadmin and skips that part of the record retrieve.  

  • bernhards Profile Picture
    bernhards 417 on at
    RE: Principal user is missing prvWriteActivity privilege (but user is already admin)

    That did also not solve the issue.

  • bernhards Profile Picture
    bernhards 417 on at
    RE: Principal user is missing prvWriteActivity privilege (but user is already admin)

    Guess I just found the problem. The error happens for the user on line number 1

    [2019-05-28 10:50:37.877] Process: w3wp |Organization:e1f18b90-ecb3-e211-b55e-000c29329206 |Thread:  189 |Category: Exception |User: 9c91fc03-1401-e811-8629-0050569e3da8


    and not the user that was in the error on the last line

    >Crm Exception: Message: Principal user (Id=6a515dea-ed38-e411-932a-0050569e3da8, type=8) is missing prvWriteActivity privilege (Id=0dc8f72c-57d5-4b4d-8892-fe6aac0e4b81), ErrorCode: -2147220960


    I just gave the other user the permissions: Security role-> Core -> Activity: Read access for organization. Let's see if that fixed the issue...

  • bernhards Profile Picture
    bernhards 417 on at
    RE: Principal user is missing prvWriteActivity privilege (but user is already admin)
    [2019-05-28 10:50:37.877] Process: w3wp |Organization:e1f18b90-ecb3-e211-b55e-000c29329206 |Thread:  189 |Category: Exception |User: 9c91fc03-1401-e811-8629-0050569e3da8 |Level: Error |ReqId: 0f9dd602-85dc-4ac7-b063-495dc34cef7f |ActivityId: 3bd2c15e-23f8-4c87-9cc2-11ee360bd072 | SecurityLibrary.ThrowCrmSecurityException  ilOffset = 0x6B
    	at SecurityLibrary.ThrowCrmSecurityException(SecurityPrincipal principal, Guid privilegeId, Int32 errorCode, ExecutionContext context)  ilOffset = 0x6B
    	at SecurityLibrary.CheckPrivilege(SecurityPrincipal principal, Guid privilege, ExecutionContext context)  ilOffset = 0x6A
    	at AddressManager.GetOwnerCandidate(AddressEntry addressEntry)  ilOffset = 0x50
    	at AddressResolver.BuildResolvedAddressEntry(AddressCategory category, BusinessEntity businessEntity, Guid& objectId, Boolean active, String emailAddressMatched)  ilOffset = 0x58
    	at AddressResolver.GetPrunedList(BusinessEntityCollection responseCollection, AddressCategory category, Hashtable removeDuplicateFilter, Dictionary`2 removeMultipleMatch)  ilOffset = 0x7F
    	at AddressResolver.DoResolve(AddressEntry[] addressEntriesToResolve, Int32[] objectTypes, Boolean matchPartialEmailAddresses)  ilOffset = 0x7A
    	at AddressManager.ResolveToAll(AddressEntry[] addressEntries, Int32[] entityList)  ilOffset = 0x13
    	at EmailService.GetResolvedAddressEntries(AddressEntry[][] allAddressEntries, AddressManager addressManager)  ilOffset = 0x0
    	at EmailService.Deliver(Boolean userPromote, Guid emailId, String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, BusinessEntityCollection attachments, Guid campaignResponseId, Entity emailDeltaEntity, ExecutionContext context, Boolean validateBeforeDeliver)  ilOffset = 0x2C
    	at EmailService.DeliverIncoming(String messageId, String subject, String from, String to, String cc, String bcc, DateTime receivedOn, String submittedBy, String importance, String body, BusinessEntityCollection attachments, Entity extraProperties, Boolean validateBeforeCreate, ExecutionContext context)  ilOffset = 0x8D
    	at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)  ilOffset = 0xFFFFFFFF
    	at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)  ilOffset = 0x16
    	at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)  ilOffset = 0x6C
    	at LogicalMethodInfo.Invoke(Object target, Object[] values)  ilOffset = 0x3F
    	at InternalOperationPlugin.Execute(IServiceProvider serviceProvider)  ilOffset = 0x43
    	at V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)  ilOffset = 0x0
    	at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)  ilOffset = 0x64
    	at PipelineInstrumentationHelper.Execute(Boolean instrumentationEnabled, String stopwatchName, ExecuteWithInstrumentation action, PipelineExecutionContext context)  ilOffset = 0x93
    	at Pipeline.Execute(PipelineExecutionContext context)  ilOffset = 0xDE
    	at PipelineInstrumentationHelper.Execute(Boolean instrumentationEnabled, String stopwatchName, ExecuteWithInstrumentation action, PipelineExecutionContext context)  ilOffset = 0x35
    	at MessageProcessor.Execute(PipelineExecutionContext context)  ilOffset = 0x218
    	at InternalMessageDispatcher.Execute(PipelineExecutionContext context)  ilOffset = 0xE4
    	at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid callerRegardingObjectId, UserType userType, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)  ilOffset = 0x22D
    	at ExternalMessageDispatcher.Execute(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid callerRegardingObjectId, UserType userType, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId)  ilOffset = 0x0
    	at OrganizationSdkServiceInternal.ExecuteRequestRequestWithInstrumentation(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode, Object operation, UserType targetUserType)  ilOffset = 0x0
    	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, Guid targetCallerRegardingObjectId, UserType targetUserType, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode)  ilOffset = 0x2E
    	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode, ExecutionContext executionContext)  ilOffset = 0x4B
    	at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode, ExecutionContext executionContext)  ilOffset = 0x0
    	at OrganizationSdkService.Execute(OrganizationRequest request)  ilOffset = 0x0
    	at   ilOffset = 0xFFFFFFFF
    	at SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)  ilOffset = 0x222
    	at DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)  ilOffset = 0x97
    	at ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)  ilOffset = 0x48
    	at MessageRpc.Process(Boolean isOperationContextSet)  ilOffset = 0x65
    	at Wrapper.Resume(Boolean& alreadyResumedNoLock)  ilOffset = 0x1B
    	at ThreadBehavior.ResumeProcessing(IResumeMessageRpc resume)  ilOffset = 0x8
    	at ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x79
    	at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x9
    	at QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()  ilOffset = 0x35
    	at ThreadPoolWorkQueue.Dispatch()  ilOffset = 0xA4
    >Crm Exception: Message: Principal user (Id=6a515dea-ed38-e411-932a-0050569e3da8, type=8) is missing prvWriteActivity privilege (Id=0dc8f72c-57d5-4b4d-8892-fe6aac0e4b81), ErrorCode: -2147220960


    But the user (who has the admin role assigned again) did not use the CRM. He has an user to login, if it is needed, but he did not use it.

    The error appears nearly all 10 minutes in the log. Maybe the CRM Plugin for Outlook causes that?

    Even on Verbose Level the log does not give me more information about the error.

  • Suggested answer
    Dynamics365 Rocker Profile Picture
    Dynamics365 Rocker 7,755 on at
    RE: Principal user is missing prvWriteActivity privilege (but user is already admin)

    If current user is Admin then check is there is any Plugin or custom logic on activity that is running in some other user context.

  • bernhards Profile Picture
    bernhards 417 on at
    RE: Principal user is missing prvWriteActivity privilege (but user is already admin)

    As I wrote before, here the result:

    Unassigned the admin role and assigned it again -> issue still persist.

    [2019-05-28 08:29:54.233] Process: w3wp |Organization:e1f18b90-ecb3-e211-b55e-000c29329206 |Thread:   62 |Category: Exception |User: 9c91fc03-1401-e811-8629-0050569e3da8 |Level: Error |ReqId: ff84cadb-1f37-4fa5-b6e6-780b5b3abaaa |ActivityId: 108e7331-9b4b-4812-9f50-9302605ac8c4 | SecurityLibrary.ThrowCrmSecurityException  ilOffset = 0x6B
    	at SecurityLibrary.ThrowCrmSecurityException(SecurityPrincipal principal, Guid privilegeId, Int32 errorCode, ExecutionContext context)  ilOffset = 0x6B
    	at SecurityLibrary.CheckPrivilege(SecurityPrincipal principal, Guid privilege, ExecutionContext context)  ilOffset = 0x6A
    	at AddressManager.GetOwnerCandidate(AddressEntry addressEntry)  ilOffset = 0x50
    	at AddressResolver.BuildResolvedAddressEntry(AddressCategory category, BusinessEntity businessEntity, Guid& objectId, Boolean active, String emailAddressMatched)  ilOffset = 0x58
    	at AddressResolver.GetPrunedList(BusinessEntityCollection responseCollection, AddressCategory category, Hashtable removeDuplicateFilter, Dictionary`2 removeMultipleMatch)  ilOffset = 0x7F
    	at AddressResolver.DoResolve(AddressEntry[] addressEntriesToResolve, Int32[] objectTypes, Boolean matchPartialEmailAddresses)  ilOffset = 0x7A
    	at AddressManager.ResolveToAll(AddressEntry[] addressEntries, Int32[] entityList)  ilOffset = 0x13
    	at EmailService.GetResolvedAddressEntries(AddressEntry[][] allAddressEntries, AddressManager addressManager)  ilOffset = 0x0
    	at EmailService.CheckIncoming(String messageId, String subject, String from, String to, String cc, String bcc, Entity extraProperties, ExecutionContext context, Int32& reasonCode)  ilOffset = 0xFE
    	at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)  ilOffset = 0xFFFFFFFF
    	at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)  ilOffset = 0x16
    	at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)  ilOffset = 0x6C
    	at LogicalMethodInfo.Invoke(Object target, Object[] values)  ilOffset = 0x3F
    	at InternalOperationPlugin.Execute(IServiceProvider serviceProvider)  ilOffset = 0x43
    	at V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)  ilOffset = 0x0
    	at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)  ilOffset = 0x64
    	at PipelineInstrumentationHelper.Execute(Boolean instrumentationEnabled, String stopwatchName, ExecuteWithInstrumentation action, PipelineExecutionContext context)  ilOffset = 0x93
    	at Pipeline.Execute(PipelineExecutionContext context)  ilOffset = 0xDE
    	at PipelineInstrumentationHelper.Execute(Boolean instrumentationEnabled, String stopwatchName, ExecuteWithInstrumentation action, PipelineExecutionContext context)  ilOffset = 0x35
    	at MessageProcessor.Execute(PipelineExecutionContext context)  ilOffset = 0x218
    	at InternalMessageDispatcher.Execute(PipelineExecutionContext context)  ilOffset = 0xE4
    	at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid callerRegardingObjectId, UserType userType, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)  ilOffset = 0x22D
    	at ExternalMessageDispatcher.Execute(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid callerRegardingObjectId, UserType userType, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId)  ilOffset = 0x0
    	at OrganizationSdkServiceInternal.ExecuteRequestRequestWithInstrumentation(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode, Object operation, UserType targetUserType)  ilOffset = 0x0
    	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, Guid targetCallerRegardingObjectId, UserType targetUserType, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode)  ilOffset = 0x2E
    	at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode, ExecutionContext executionContext)  ilOffset = 0x4B
    	at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode, ExecutionContext executionContext)  ilOffset = 0x0
    	at OrganizationSdkService.Execute(OrganizationRequest request)  ilOffset = 0x0
    	at   ilOffset = 0xFFFFFFFF
    	at SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)  ilOffset = 0x222
    	at DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)  ilOffset = 0x97
    	at ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)  ilOffset = 0x48
    	at MessageRpc.Process(Boolean isOperationContextSet)  ilOffset = 0x65
    	at Wrapper.Resume(Boolean& alreadyResumedNoLock)  ilOffset = 0x1B
    	at ThreadBehavior.ResumeProcessing(IResumeMessageRpc resume)  ilOffset = 0x8
    	at ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x79
    	at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)  ilOffset = 0x9
    	at QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()  ilOffset = 0x35
    	at ThreadPoolWorkQueue.Dispatch()  ilOffset = 0xA4
    >Crm Exception: Message: Principal user (Id=6a515dea-ed38-e411-932a-0050569e3da8, type=8) is missing prvWriteActivity privilege (Id=0dc8f72c-57d5-4b4d-8892-fe6aac0e4b81), ErrorCode: -2147220960


  • bernhards Profile Picture
    bernhards 417 on at
    RE: Principal user is missing prvWriteActivity privilege (but user is already admin)

    Hello and thanks for your answer.

    As you can see in the picture, it is the user that has already the admin role assigned. But I will follow your suggestion and unassigne every role from this user.

    I will report to you later, if this solved the issue.

    Thanks,

    Bernhard

  • Suggested answer
    Kokulan Profile Picture
    Kokulan 18,048 on at
    RE: Principal user is missing prvWriteActivity privilege (but user is already admin)

    Hi

    If the current user is a sysadmin, it's more likely it's complaining about privilege for some other user.

    Could you please check who this user is : 6a515dea-ed38-e411-932a-0050569e3da8

    And make sure this user has prvWriteActivity privilege granter via sec role.

    If this user has sys admin role assigned, I would remove the role and add again and log in again and see if it makes any difference

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Verified Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,391 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,445 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans