无法导出站点模板
Cannot export site template
我正在尝试获取站点模板并遇到错误:
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.powershell1.6.0
我在 PnP.PowerShell 1.6.0 中遇到了同样的问题。我使用带有 -UseWebLogin 标志的 Connect-PnPOnline 命令,因为我的帐户启用了多因素身份验证。
我的解决方案是为我的用户禁用 MFA 并在没有“-UseWebLogin”标志的情况下进行连接。然后 Get-PnPSiteTemplate 命令可以正常工作。
我不确定为什么会这样,但我现在将使用此解决方法:)
我遇到了同样的问题,经过相当长的时间进行故障排除后,我发现一旦遍历列表,导出就会中断。它与您尝试导出的网站无关,因为它也发生在其他新创建的网站上。
原来问题是 PNP 模块需要管理员同意,因为它可以操纵 O365 的几乎所有组件。
解决方案:使用以下命令连接到站点:
Connect-PnPOnline -interactive -URL "Your Site Url"
向管理员提供 PnP 许可,然后尝试导出网站模板:
Get-PnPSiteTemplate -Out "File Location" # Use handlers and other params if needed
如果window提示没有出现,运行先执行以下命令:
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 令牌生成器,但使用 WebLogin 失败。
这是我在 1.7.10 版本上得到的,但我使用过 1.7.0 和 1.5.0 并看到了同样的问题。不知道是不是老版本有问题的模块比较多
方法:我通过 运行 Set-PnPTraceLog -on -logfile log.txt -Level Debug
和 Set-PnPTraceLog -off
找到了这个解决方案,然后查看日志文件以查看哪个模块失败。
我可以使用 Export-PnPListToSiteTemplate
并查看如何获取模板文件的列表 XML。
我正在尝试获取站点模板并遇到错误:
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.powershell1.6.0
我在 PnP.PowerShell 1.6.0 中遇到了同样的问题。我使用带有 -UseWebLogin 标志的 Connect-PnPOnline 命令,因为我的帐户启用了多因素身份验证。
我的解决方案是为我的用户禁用 MFA 并在没有“-UseWebLogin”标志的情况下进行连接。然后 Get-PnPSiteTemplate 命令可以正常工作。
我不确定为什么会这样,但我现在将使用此解决方法:)
我遇到了同样的问题,经过相当长的时间进行故障排除后,我发现一旦遍历列表,导出就会中断。它与您尝试导出的网站无关,因为它也发生在其他新创建的网站上。
原来问题是 PNP 模块需要管理员同意,因为它可以操纵 O365 的几乎所有组件。
解决方案:使用以下命令连接到站点:
Connect-PnPOnline -interactive -URL "Your Site Url"
向管理员提供 PnP 许可,然后尝试导出网站模板:
Get-PnPSiteTemplate -Out "File Location" # Use handlers and other params if needed
如果window提示没有出现,运行先执行以下命令:
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 令牌生成器,但使用 WebLogin 失败。
这是我在 1.7.10 版本上得到的,但我使用过 1.7.0 和 1.5.0 并看到了同样的问题。不知道是不是老版本有问题的模块比较多
方法:我通过 运行 Set-PnPTraceLog -on -logfile log.txt -Level Debug
和 Set-PnPTraceLog -off
找到了这个解决方案,然后查看日志文件以查看哪个模块失败。
我可以使用 Export-PnPListToSiteTemplate
并查看如何获取模板文件的列表 XML。