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

Azure DevOps中AzurePowerShell@4与AzurePowerShell@5任务有什么区别?

AzurePowerShell@4 与 AzurePowerShell@5 核心差异说明

1. 运行时支持差异

  • @4 版本默认绑定 Windows PowerShell 5.1 运行时,仅能在Windows代理环境下原生运行,如需在Linux/macOS代理上执行,需要额外配置PowerShell Core兼容规则,适配成本较高
  • @5 版本原生支持PowerShell 7+(跨平台PowerShell Core),同时兼容Windows PowerShell 5.1,可在Windows、Linux、macOS代理环境下直接运行,无需额外做跨平台适配

2. Azure 能力支持差异

  • @4 内置适配的Az(Azure PowerShell)模块最高仅支持到6.x版本,后续新增的Azure资源操作能力(如新版Entra ID接口、部分云服务的新属性操作)无法直接使用,需要手动在流水线中安装更高版本Az模块,会增加任务运行耗时
  • @5 原生支持Az 7.x及以上版本的全部能力,默认会自动匹配代理环境的最新稳定版Az模块,无需额外手动安装升级即可调用所有最新Azure操作接口

3. 安全与功能特性差异

  • @5 新增*azurePowerShellAccessToken*参数,支持传入自定义Azure AD访问令牌完成身份认证,无需完全依赖ADO服务连接的固定权限,更适配企业复杂权限管控场景
  • @5 修复了@4中存在的多个安全漏洞,包括脚本执行日志泄露敏感变量、服务连接凭据缓存超时异常等问题
  • @5 新增脚本执行沙箱隔离能力,避免当前任务的PowerShell脚本篡改代理环境全局配置,影响其他流水线任务运行

4. 迁移兼容说明

绝大多数@4的YAML配置可直接无缝迁移到@5,仅需要将任务标识从AzurePowerShell@4修改为AzurePowerShell@5即可,无需调整其他参数。如果你的脚本依赖PowerShell 5.1专属特性,仅需要在@5的参数中添加pwsh: false指定使用Windows PowerShell运行时即可正常运行。

如果你的流水线仅在Windows代理上运行,且没有用到新版Azure资源操作的需求,暂时不升级也不会影响现有功能,但微软已经停止对@4版本的功能更新,后续也不会再修复新发现的安全漏洞,建议尽快完成版本升级。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:45:00