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

Azure DevOps通用包上传认证失败求助:az登录后命令仍报错

问题描述

我是Azure DevOps新手,在Windows机器上尝试通过以下脚本上传通用包:

az login --tenant xxxxxxxxxx

az artifacts universal publish ^
    --organization https://dev.azure.com/mycompany/ ^
    --feed LibWin64 ^
    --name LibWin64 ^
    --path C:\work\Lib ^
    --version 1.0.0

在浏览器中完成认证后,az login显示租户详情JSON后脚本停止,后续执行az artifacts universal publish时出现错误:

TF401444: Please sign-in at least once as xxxxxxxxxxxxxxxxxxxx\myemail in a web browser to enable access to the service.

随后生成了全权限访问令牌,尝试使用az devops login:

echo oijoijjoijoijoijoijoijpojoj | az devops login --organization https://dev.azure.com/mycompany/

az artifacts universal publish ^
    --organization https://dev.azure.com/mycompany/ ^
    --feed LibWin64 ^
    --name LibWin64 ^
    --path C:\work\Lib ^
    --version 1.0.0

az devops login未返回错误,但az artifacts universal publish仍报相同错误。

解决建议
  • 检查Azure CLI身份认证上下文
    执行az account show确认当前登录的账户和租户是否匹配目标信息。如果不符,执行az account set --subscription <你的订阅ID>切换上下文;或者重新登录时添加--allow-no-subscriptions参数(Azure DevOps操作可能不需要订阅权限):

    az login --tenant xxxxxxxxxx --allow-no-subscriptions
    
  • 直接在发布命令中指定PAT
    跳过az devops login,在az artifacts universal publish命令里用--pat-token参数直接传入个人访问令牌,确保PAT已勾选**Packaging(读写)和Feed(读写)**权限:

    az artifacts universal publish ^
        --organization https://dev.azure.com/mycompany/ ^
        --feed LibWin64 ^
        --name LibWin64 ^
        --path C:\work\Lib ^
        --version 1.0.0 ^
        --pat-token oijoijjoijoijoijoijoijpojoj
    
  • 清理Azure CLI认证缓存
    删除Windows下Azure CLI的缓存目录C:\Users\<你的用户名>\.azure,之后重新执行az login完成认证,避免旧缓存干扰。

  • 验证PAT的权限与有效期
    登录Azure DevOps进入用户设置 -> 个人访问令牌,编辑目标令牌,确认勾选Packaging下的Read & write权限,且令牌未过期。

  • 以管理员身份运行终端
    用管理员权限打开命令提示符或PowerShell,重新执行登录和发布命令,避免权限不足导致的认证上下文保存失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 11:24:26