如何在Azure DevOps中通过AWS Tools使用PowerShell 7
解决方案
方法1:直接修改AWS PowerShell任务的执行程序(优先尝试)
微软托管的windows-2019代理默认已预安装PowerShell 7,可直接配置调用:
- 打开你的
AWS Tools for Windows PowerShell Script任务配置页 - 找到高级设置分类下的「PowerShell 可执行文件路径」配置项,填入路径
C:\Program Files\PowerShell\7\pwsh.exe - 保存流水线配置后重新运行,任务就会调用PowerShell 7执行你的脚本,
ConvertFrom-Json的7.x专属特性可正常使用
方法2:私有代理预装PowerShell 7
如果你使用的是自行托管的windows-2019代理,没有预装PowerShell 7,可按以下步骤操作:
- 在AWS脚本任务之前新增一个普通PowerShell任务,运行PowerShell 7静默安装脚本,选择无交互安装模式
- 安装完成后在同一任务内执行环境变量刷新命令,确保PowerShell 7的路径被系统识别
- 后续按方法1的步骤修改AWS任务的执行程序路径即可
版本验证建议
你之前使用的get-host | select version命令返回的是宿主程序版本,和PowerShell引擎版本可能存在偏差,建议在脚本开头添加$PSVersionTable.PSVersion输出版本信息,可准确判断当前运行的PowerShell版本。
内容的提问来源于stack exchange,提问作者Colin
相关产品推荐
相关产品推荐

