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

使用Add-PnPJavaScriptLink时Connection参数解析失败求助

问题描述

尝试使用Add-PnPJavaScriptLink添加JS链接,执行以下代码:

$jsLinkAddJquery = "Add-PnPJavaScriptLink -Name 'jquery' -Url '/SiteAssets/jquery-3.4.1.min.js' -Connection $($Global:PnPConnection)"
Invoke-Expression $jsLinkAddJquery 

出现异常:

Cannot bind parameter 'Connection'. Cannot convert the "PnP.PowerShell.Commands.Base.PnPConnection" value of type "System.String" to type "PnP.PowerShell.Commands.Base.PnPConnection".
解决方案

问题根源是Invoke-Expression会将$Global:PnPConnection对象强制转换为字符串(即对象的类型名称),而非传递实际的连接对象。可以通过以下两种方式解决:

  • 直接调用命令(推荐):跳过字符串拼接步骤,直接传入连接对象,避免类型转换问题:

    Add-PnPJavaScriptLink -Name 'jquery' -Url '/SiteAssets/jquery-3.4.1.min.js' -Connection $Global:PnPConnection
    
  • 使用脚本块执行(若需动态场景):如果必须通过动态方式执行,用脚本块代替字符串,保留对象的原始类型:

    $jsLinkAddJquery = { Add-PnPJavaScriptLink -Name 'jquery' -Url '/SiteAssets/jquery-3.4.1.min.js' -Connection $Global:PnPConnection }
    & $jsLinkAddJquery
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:40:31