PowerShell, SharePoint: Ошибка Get-PnPSiteTemplate

#powershell #sharepoint

Вопрос:

я получаю сообщение об ошибке с помощью командлета PnP PowerShell: Get-PnPSiteTemplate. Я также являюсь глобальным администратором и администратором семейства сайтов.

Включены пользовательские сценарии:

набор-sposite https://tenant.sharepoint.com/sites/TestSite -denyaddandcustomizepages $false

 Connect-PnPOnline -Url https://tenant.sharepoint.com/sites/TestSite -Interactive

Get-PnPSiteTemplate -Out "C:TempDemo.xml"

Get-PnPSiteTemplate : Attempted to perform an unauthorized operation.
At C:UsersuserXDesktopScript.ps1:3 char:1
  Get-PnPSiteTemplate -Out "C:TempDemo.xml"
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      CategoryInfo          : WriteError: (:) [Get-PnPSiteTemplate], ServerUnauthorizedAccessException
      FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Provisioning.Site.GetSiteTemplate
 

У кого-нибудь есть идея? MS говорит, что PnP с открытым исходным кодом, поэтому реальной поддержки нет…

Цель состоит в том, чтобы скопировать полный список SharePoint со всеми элементами и метаданными на другой сайт. Вот так: https://www.drware.com/copy-a-list-with-list-items-to-another-site/

Спасибо! 🙂

Комментарии:

1. Вы проверили, что пользователь, с которым вы входите в систему, имеет полные права доступа к сайту? Это важно, даже если пользователь является глобальным администратором.

Ответ №1:

Я перепроверил команду с последней версией PnP.PowerShell (версия 1.7.0) на чистом сайте связи с образцом списка с парой элементов, не более того, и работает..

  1. Не могли бы вы также сначала повторить попытку на каком-нибудь тестовом чистом сайте только с одним пользовательским списком и посмотреть, нет ли у вас той же ошибки? Возможно, проблема, с которой вы столкнулись, связана с некоторыми настройками, которые у вас есть на этом сайте, так как Get-PnPSiteTemplate без каких-либо параметров будет экспортирован шаблон всего сайта (включая список, а также все остальное, например, некоторые пользовательские приложения, на которые у вас, возможно, нет разрешения).
  2. еще одна вещь, которую вы могли бы попробовать, — это запустить командлет для получения только интересующего вас списка вместе с данными:
 # this will export the template only of the selected list
Get-PnPSiteTemplate -Out "C:TempDemo.xml" -ListsToExtract "testList" -Handlers Lists -Force

# this will populate the list with data of the list
Add-PnPDataRowsToSiteTemplate -Path "C:TempDemo.xml" -List "testList"