无法导出网站模板



我正在尝试获取网站模板,但收到错误:

PS C:\Windows\system32>获取PnPSiteTemplate-Out template.xmlGet-PnPSiteTemplate:GetAccessTokenAsync((在没有ACS令牌生成器的情况下调用。在AuthenticationManager构造函数中指定身份验证参数在行:1个字符:1个

  • 获取PnPSiteTemplate-Out template.xml
  • CategoryInfo:WriteError:(:([Get-PnPSiteTemplate],ArgumentException
  • FullyQualifiedErrorId:异常,PnP。PowerShell。命令。资源调配。地点GetSiteTemplate

版本:pnp.powershell 1.6.0

我也遇到了同样的问题,在花了很长时间进行故障排除后,我发现一旦遍历列表,导出就会中断。它与您试图导出的网站无关,因为它也发生在其他新创建的网站上。

事实证明,问题是PNP模块需要管理员同意,因为它几乎可以操作O365的所有组件。

解决方案:使用以下命令连接到站点:

Connect-PnPOnline -interactive -URL "Your Site Url" 

向PnP提供管理员同意,然后尝试使用导出网站模板

Get-PnPSiteTemplate -Out "File Location" # Use handlers and other params if needed

如果提示窗口没有显示,请首先运行以下命令:

register-pnpmanagementshellaccess # See notes before running this cmdlet

注意:管理员同意需要额外的权限,SharePoint Admin角色是不够的!因此,要么请求Global Admin为您同意,要么请求其他AD权限。如果我没有错的话,Application Administrator角色应该是正确的选择。

这似乎对我有用。

Get-PnPSiteTemplate -out template.xml -ExcludeHandlers Lists,ApplicationLifecycleManagement 

列表和ALM部分似乎需要一个ACS令牌生成器,但UseWebLogin失败了。

这是我在1.7.10版本上得到的,但我使用了1.7.0和1.5.0,并看到了相同的问题。我不知道旧版本是否有更多的问题模块。

方法:我通过运行Set-PnPTraceLog -on -logfile log.txt -Level DebugSet-PnPTraceLog -off找到了这个解决方案,然后查看日志文件,看看哪个模块失败了。

我可以使用Export-PnPListToSiteTemplate,看看它在获取模板文件的列表XML方面是如何进行的。

我对PnP也有同样的问题。PowerShell 1.6.0。我使用带有-UseWebLogin标志的Connect PnPOnline命令,因为我的帐户已打开多因素身份验证。

我的解决方案是为我的用户禁用MFA-UseWebLogin";旗帜然后Get-PnPSiteTemplate命令工作正常,没有任何问题。

我不确定为什么会发生这种情况,但我现在会使用这个变通方法:(

最新更新