如何解决Azure DevOps Pipeline中Trusted Signing的交互模式错误
Azure DevOps中Azure可信签名(Trusted Signing)任务交互模式错误解决方法
问题描述
在Azure DevOps中配置Azure可信签名时,最初找到的任务已标记为即将废弃;切换到通过搜索TrustedSigning找到的新版本任务(版本0.3.16)后,仍出现错误:
2024-04-23T22:45:21.3237488Z ##[error]Exception calling "ShouldContinue" with "2" argument(s): "Windows PowerShell is in NonInteractive mode. Read and Prompt functionality is not available."
自托管代理运行在非交互模式,CI/CD管道无需启用交互模式。
解决步骤
1. 确认任务参数与服务连接配置
- 确保已正确配置Azure服务连接,且该连接拥有Azure可信签名账户的访问权限(如
Trusted Signing Account Contributor角色)。 - 检查任务所有必填参数是否完整填写,避免因参数缺失触发脚本交互提示(例如未指定签名配置文件、目标文件路径等)。
2. 更新任务至最新版本
当前使用的0.3.16版本可能存在已知bug,前往Azure DevOps市场搜索Trusted Signing任务,安装最新版本后重新测试管道。
3. 调整自托管代理的PowerShell环境
在可信签名任务前添加一个PowerShell步骤,强制禁用交互相关自动提示:
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' -Name 'ExecutionPolicy' -Value 'RemoteSigned' $env:PSModuleAutoLoadingPreference = 'None'
4. 检查代理运行模式
确保自托管代理以Windows服务形式运行,而非手动启动的交互式窗口。服务模式默认以非交互身份运行,符合CI/CD管道要求。
5. 手动验证任务脚本
在自托管代理服务器上,手动执行可信签名任务的核心脚本(可从任务日志提取关键命令),观察是否弹出交互提示。若存在提示,可在管道任务中添加-NonInteractive参数(若任务支持),或反馈给微软修复脚本交互逻辑。
内容的提问来源于stack exchange,提问作者Christopher Painter
相关产品推荐
相关产品推荐

