Get-PnPSiteTemplate 在某些处理程序上卡住很长时间

问题描述 投票:0回答:2

我会先说我对 SharePoint 和 PowerShell 非常陌生,所以请耐心等待,我很乐意编辑问题或根据需要提供更多信息!

不确定此上下文是否重要,但我们的组织希望为每个新客户参与创建一个新的 SharePoint 网站(和链接的团队),因此我的总体目标是尽可能自动化每次复制网站配置的过程。要复制的最重要的组件是一组包含多个特定列和视图的库和列表,以及一个包含一些快速链接 Web 部件的主页(一个带有外部链接,另一个带有指向上述库和列表的链接)。还有一些其他事情不需要每次都手动调整(导航、几个 Power Automate 流程),但现在我们只需要启动,这些事情的优先级较低。我的大部分库和列表设置似乎都是通过站点脚本有效处理的,但由于无法使用站点脚本应用主页配置,我现在必须弄清楚 PnP PowerShell :)

我在 PowerShell 中运行以下命令来提取我的 PnP 模板:

$siteUrl = "https://mytenant.sharepoint.com/sites/MyClientTemplate"

# Connect to your SharePoint Online tenant
Connect-PnPOnline -Url $siteUrl -Interactive
Set-PnPTraceLog -On -LogFile traceoutput.txt
Get-PnPSiteTemplate -Out template.xml

它似乎运行良好,并显示状态消息“从 https://mytenant.sharepoint 提取模板。[各种处理程序]”,然后它循环遍历我猜想的 SharePoint 网站各个组件的处理程序配置。问题是某些处理程序会导致脚本挂起......很长时间。足够长的时间让我放弃,但没有错误。如果我使用

-ExcludeHandlers
参数来排除那些缓慢/挂起的参数,它会继续前进,所以到目前为止我排除了 ApplicationLifecycleManagement 和 ImageRenditions,因为据我所知,我还没有在我的网站上对这些东西进行任何自定义。但现在它挂在导航上,伙计,如果可能的话,我真的宁愿将其包含在模板中!

如果我按 ctrl+C ,文件 template.xml 已创建,并且确实包含看起来非常大且复杂的 PnP 模板,但我真的不太了解我正在查看的内容是否可以掌握有关该问题的任何线索。 traceoutput.txt 仅包含一行,似乎并没有告诉我太多信息。

欢迎任何故障排除想法 - 谢谢!

编辑添加了我刚刚注意到的另一个潜在线索:在终端中,当脚本第一次运行时(在我确认覆盖输出文件之后),它看起来像这样:

PS C:\Users\Rachel\OneDrive\Documents\PowerShell\Scripts> . 'C:\Users\Rachel\OneDrive\Documents\PowerShell\Scripts\SPOSiteScripts\createPnPTemplate.ps1'

Confirm
File C:\Users\Rachel\OneDrive\Documents\PowerShell\Scripts\template.xml exists, overwrite?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
Extracting Template from https://mytenant.sharepoint. [some handler              ]

但是当状态更改为处理程序时,它将挂起,状态消息上方会出现一条额外的提示行:

PS C:\Users\Rachel\OneDrive\Documents\PowerShell\Scripts> . 'C:\Users\Rachel\OneDrive\Documents\PowerShell\Scripts\SPOSiteScripts\createPnPTemplate.ps1'

Confirm
File C:\Users\Rachel\OneDrive\Documents\PowerShell\Scripts\template.xml exists, overwrite?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
PS C:\Users\Rachel\OneDrive\Documents\PowerShell\Scripts>
Extracting Template from https://mytenant.sharepoint. [Web Settings            ]
powershell sharepoint sharepoint-online pnp.powershell
2个回答
0
投票

我意识到我忘记再提供一点信息,而这最终成为回答我自己的问题的关键。我通过 PowerShell 扩展直接在 VSCode 中运行脚本。当我在常规 PS 终端中运行它时,它工作得很好。我不知道根本问题是什么,但这对我有用,希望将来能帮助其他人!


0
投票

也遇到了这个问题,并且也像@rachel-piotraschke-organist一样通过VSCode运行。它可能是 VS Code 注入的用于调试的东西。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.