PowerShell中ConvertFrom-Json的Depth参数报错求助
解决ADF CI/CD中重启触发器脚本的ConvertFrom-Json错误
问题根源
ConvertFrom-Json的-Depth参数仅在PowerShell 3.0及以上版本中支持,你的Azure DevOps代理环境使用了低于3.0的PowerShell版本,导致脚本执行时无法识别该参数,从而抛出错误。
可行解决方案
升级代理的PowerShell版本:
在Azure DevOps流水线的代理机器上安装PowerShell 5.1或更高版本(优先选择5.1,兼容性最优)。完成安装后,在流水线的PowerShell任务配置中,将"Version"选项指定为"5.1"或更新版本。如果使用微软托管代理,最新版本默认已搭载高版本PowerShell,直接切换任务版本即可。临时修改脚本兼容低版本:
若暂时无法升级PowerShell,可找到报错的triggerRestarter.ps1第659行,删除-Depth 10参数,修改为:} | ConvertFrom-Json注意:该方案可能在处理深层嵌套JSON时出现内容截断,仅作为临时 workaround,优先推荐升级PowerShell版本。
内容的提问来源于stack exchange,提问作者Pragya Agrawal
相关产品推荐
相关产品推荐

