【问题标题】:Cannot export site template无法导出网站模板
【发布时间】:2021-08-05 14:00:45
【问题描述】:

我正在尝试获取站点模板并收到错误:

PS C:\Windows\system32> Get-PnPSiteTemplate -Out template.xml Get-PnPSiteTemplate :在没有 ACS 令牌生成器的情况下调用 GetAccessTokenAsync()。在 AuthenticationManager 构造函数中指定身份验证参数 在 line:1 char:1

  • Get-PnPSiteTemplate -Out template.xml
  • CategoryInfo : WriteError: (:) [Get-PnPSiteTemplate], ArgumentException
  • FullyQualifiedErrorId:异常,PnP.PowerShell.Commands.Provisioning.Site.GetSiteTemplate

版本: pnp.powershell 1.6.0

【问题讨论】:

  • 我确实遇到了完全相同的错误,但无法确定原因

标签: powershell sharepoint


【解决方案1】:

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

原来问题在于 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 角色应该是正确的选择。

【讨论】:

    【解决方案2】:

    这似乎对我有用。

    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。

    【讨论】:

    • 重要的救星!
    【解决方案3】:

    我在使用 PnP.PowerShell 1.6.0 时遇到了同样的问题。我正在使用带有 -UseWebLogin 标志的 Connect-PnPOnline 命令,因为我的帐户启用了多因素身份验证。

    我的解决方案是为我的用户禁用 MFA 并在没有“-UseWebLogin”标志的情况下进行连接。然后 Get-PnPSiteTemplate 命令运行没有任何问题。

    我不确定为什么会发生这种情况,但我现在将使用此解决方法 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-06
      • 2021-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多