You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决PnP PowerShell命令在Windows PowerShell ISE中的运行问题?

解决Windows PowerShell ISE里运行PnP PowerShell命令的问题

为啥会报错?

Windows PowerShell ISE默认搭载的是Windows PowerShell 5.1,而新版PnP PowerShell模块(PnP.PowerShell)仅支持PowerShell 7及以上版本。你在PowerShell 7中能正常运行脚本,就是因为环境匹配了模块要求;ISE用的5.1环境和新版PnP模块不兼容,所以触发报错。

两种解决办法

办法1:给Windows PowerShell 5.1安装兼容的旧版PnP模块

如果必须依赖5.1环境运行,需要安装专门支持它的旧版PnP模块(SharePointPnPPowerShellOnline,该模块已停止维护,但仍可正常使用):

  • 右键点击Windows PowerShell,选择「以管理员身份运行」
  • 执行以下命令安装模块:
    Install-Module -Name SharePointPnPPowerShellOnline -Force -AllowClobber
    
  • 安装完成后打开Windows PowerShell ISE,直接运行原有脚本即可(旧版模块的Connect-PnPOnline和Set-PnPFileCheckedOut命令与新版参数基本一致,无需修改脚本)

办法2:配置Windows PowerShell ISE使用PowerShell 7作为宿主

这个方案更推荐,直接让ISE搭载PowerShell 7环境,完美兼容新版PnP模块:

  • 确保已安装PowerShell 7(未安装的话直接从微软官网下载安装即可)
  • 以管理员身份打开Windows PowerShell ISE
  • 执行以下命令切换ISE的运行宿主:
    Set-ItemProperty -Path 'HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' -Name 'Path' -Value 'C:\Program Files\PowerShell\7\pwsh.exe'
    
  • 重启Windows PowerShell ISE,再运行原有脚本即可正常执行

验证环境(可选)

不管用哪个办法,运行脚本前可以执行以下命令确认环境是否匹配:

# 查看当前PowerShell版本
$PSVersionTable.PSVersion
# 查看已安装的PnP模块
Get-Module -ListAvailable PnP*

内容的提问来源于stack exchange,提问作者Haritha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 15:27:34