pnp / PnP-PowerShell

SharePoint PnP PowerShell CmdLets
https://pnp.github.io/powershell
Other
988 stars 662 forks source link

Apply-PnPProvisionningTemplate access denied error right from the start #2324

Open e-gallis opened 5 years ago

e-gallis commented 5 years ago

Reporting an Issue or Missing Feature

After generating a template file using the Get-PnPProvisionningTemplate cmdlet from a very simple team site, applying it using the Apply-PnPProvisionningTemplate triggers the following error right at the start of the apply process:

Apply-PnPProvisioningTemplate : Accès refusé. Vous n’êtes pas autorisé à effectuer cette action ou à accéder à cette ressource.
Au caractère Ligne:1 : 1
+ Apply-PnPProvisioningTemplate -Path .\source.xml
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (:) [Apply-PnPProvisioningTemplate], ServerUnauthorizedAccessException
    + FullyQualifiedErrorId : EXCEPTION,SharePointPnP.PowerShell.Commands.Provisioning.Site.ApplyProvisioningTemplate

Rough translation of the error message: Access denied. You are not authorized to perform this action or access this resource.

Looking at the trace log file, the error seems to be triggered on a OOTB field called CompatibleManagedProperties:

PowerShell_ISE.exe Information: 0 : 2019-10-22 09:52:31.5754    [OfficeDevPnP.Core] [0] [Information]   File source.xml retrieved from folder   0ms 
PowerShell_ISE.exe Information: 0 : 2019-10-22 09:52:31.5754    [OfficeDevPnP.Core] [0] [Information]   File source.xml retrieved from folder   0ms 
PowerShell_ISE.exe Information: 0 : 2019-10-22 09:52:31.6654    [Provisioning]  [16]    [Information]   ProgressDelegate registered 0ms 115f5a4c-4179-41d4-867f-a77858d02d0d
PowerShell_ISE.exe Information: 0 : 2019-10-22 09:52:31.6654    [Provisioning]  [16]    [Information]   MessagesDelegate registered 0ms 115f5a4c-4179-41d4-867f-a77858d02d0d
PowerShell_ISE.exe Error: 0 : 2019-10-22 09:52:43.2266  [Fields]    [16]    [Error] Updating field {BAB0A619-D1EC-40D7-847B-3E4408080C17} failed: Accès refusé. Vous n’êtes pas autorisé à effectuer cette action ou à accéder à cette ressource. :    à Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream)
   à Microsoft.SharePoint.Client.ClientRequest.ProcessResponse()
   à Microsoft.SharePoint.Client.ClientRequest.<ExecuteQueryToServerAsync>d__6.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Microsoft.SharePoint.Client.ClientRequest.<ExecuteQueryAsync>d__0.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Microsoft.SharePoint.Client.ClientRuntimeContext.<ExecuteQueryAsync>d__0.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Microsoft.SharePoint.Client.ClientContext.<ExecuteQueryAsync>d__4.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à Microsoft.SharePoint.Client.ClientContextExtensions.<ExecuteQueryImplementation>d__7.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Microsoft.SharePoint.Client.ClientContextExtensions.ExecuteQueryRetry(ClientRuntimeContext clientContext, Int32 retryCount, Int32 delay, String userAgent)
   à OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers.ObjectField.UpdateField(Web web, String fieldId, XElement templateFieldElement, PnPMonitoredScope scope, TokenParser parser, String originalFieldXml)
   à OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers.ObjectField.ProvisionObjects(Web web, ProvisioningTemplate template, TokenParser parser, ProvisioningTemplateApplyingInformation applyingInformation)  10500ms 115f5a4c-4179-41d4-867f-a77858d02d0d

Expected behavior

The template should just be applied.

Actual behavior

The error message mentionned above is triggered.

Steps to reproduce behavior

  1. Connect to a very simple modern team site with a few custom fields, lists, web part pages and navigation using Connect-PnPOnline
  2. Execute following cmdlet: Get-PnPProvisioningTemplate -Out source.xml -Handlers Fields, Lists, Navigation, Pages, PageContents
  3. Connect to a target brand new modern team site
  4. Execute cmdlet: Apply-PnPProvisioningTemplate -Path .\source.xml

Which version of the PnP-PowerShell Cmdlets are you using?

What is the version of the Cmdlet module you are running?

3.13.1909.0

How did you install the PnP-PowerShell Cmdlets?

ghost commented 5 years ago

Thank you for reporting this issue. We will be triaging your incoming issue as soon as possible.