#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) на чистом сайте связи с образцом списка с парой элементов, не более того, и работает..
- Не могли бы вы также сначала повторить попытку на каком-нибудь тестовом чистом сайте только с одним пользовательским списком и посмотреть, нет ли у вас той же ошибки? Возможно, проблема, с которой вы столкнулись, связана с некоторыми настройками, которые у вас есть на этом сайте, так как
Get-PnPSiteTemplate
без каких-либо параметров будет экспортирован шаблон всего сайта (включая список, а также все остальное, например, некоторые пользовательские приложения, на которые у вас, возможно, нет разрешения). - еще одна вещь, которую вы могли бы попробовать, — это запустить командлет для получения только интересующего вас списка вместе с данными:
# 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"