使用Get-PnPSiteTemplate提取站点模板报Method Not Found错误求助
问题根因
该报错为PnP.PowerShell 1.7.0版本的已知兼容问题,核心是运行环境与模块依赖不匹配:
- PnP.PowerShell 1.x系列仅支持PowerShell 7.2及以上版本,若使用Windows PowerShell 5.1运行,会因为.NET Framework版本不支持对应异步枚举器接口,触发方法缺失报错
- 若设备上同时安装了旧版SharePointPnPPowerShellOnline模块,会和新版本PnP.PowerShell产生依赖冲突
- 1.7.0版本本身存在异步处理逻辑bug,官方已在后续版本完成修复
解决步骤
注意:所有模块操作命令都需要以管理员权限打开对应版本的PowerShell执行
- 更换运行环境:弃用Windows PowerShell 5.1,安装并打开PowerShell 7.2及以上版本执行后续操作
- 卸载残留旧模块:先清理所有旧版本PnP相关模块,避免冲突
Uninstall-Module -Name SharePointPnPPowerShellOnline -AllVersions -Force Uninstall-Module -Name PnP.PowerShell -AllVersions -Force - 安装修复后的稳定版模块:推荐安装1.12.0及以上的正式版本
Install-Module -Name PnP.PowerShell -RequiredVersion 1.12.0 -Force -AllowClobber - 重新执行导出命令即可正常运行
Get-PnPSiteTemplate -Out "C:\bin\ONNProd.xml" -Handlers PageContents,Lists,Pages,Theme,Fields -IncludeAllPages
内容的提问来源于stack exchange,提问作者G_S
相关产品推荐
相关产品推荐

