排查项目连接问题

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

如果在连接到 Azure DevOps 中的项目时遇到问题,本文提供了分步故障排除指南,以解决常见的连接和身份验证问题。

先决条件

类别 要求
项目访问权限 项目成员.

快速解决步骤

如果遇到连接问题,请先尝试以下快速步骤:

  1. 完全清除浏览器数据:使用 https://aka.ms/VsSignout退出登录,然后清除所有 cookie(Ctrl+Shift+Delete)。
  2. 使用专用浏览器会话:打开 incognito 或 InPrivate 窗口并测试访问权限。
  3. 验证组织 URL:确保使用正确的 URL 格式: https://dev.azure.com/{organizationName}
  4. 检查帐户类型:验证是否使用正确的帐户类型登录(Microsoft Entra ID 与个人Microsoft帐户)。

如果这些步骤无法解决问题,请继续阅读以下详细的故障排除部分。

排查身份验证错误

Azure DevOps 支持 Microsoft Entra 帐户和Microsoft个人帐户进行身份验证。 连接到 Microsoft Entra ID 的组织需要Microsoft Entra 身份验证(成员或 B2B 来宾帐户)。

401 - 未授权错误

屏幕截图显示了 Azure DevOps 连接 401 错误。

401 未授权错误是最常见的登录问题。 当标识缺少访问组织或特定资源的权限时,会出现此错误。 常见原因包括:

  • 标识未添加到组织中:你的帐户未在组织的用户目录中列出。
  • 别名与 UPN 混淆:尝试使用别名而不是用户主体名称(UPN)登录。
  • 项目权限不足:缺少对目标项目或资源的读取权限。
  • 挂起的 B2B 来宾邀请:Microsoft不接受 Entra B2B 来宾邀请。
  • 帐户类型不匹配:当多个帐户共享同一电子邮件地址时,尝试使用错误的帐户类型登录。

不在组织中的身份

解决步骤

  1. 请联系 Azure DevOps 管理员,验证标识是否显示在组织的 “用户 ”列表中。
  2. 对于 Microsoft Entra 帐户:确保“用户”列表中的标识与 Microsoft Entra 租户中的 UPN 完全匹配。
  3. 对于 个人Microsoft帐户:确认标识与主要帐户电子邮件匹配。
  4. 对于 B2B 来宾:验证来宾租户中的 UPN 是否与主租户 UPN 匹配,包括确切的大小写。

注释

在 Microsoft Entra ID 中,B2B 用户会以 {username}_{homeDomain}#EXT#@{guestDomain}UPN 的格式出现。 该 {username}_{homeDomain} 部分必须与主租户 UPN 匹配,并将该 _ 部分替换为 @

UPN 与别名登录问题

Azure DevOps 不支持登录别名。 必须为个人Microsoft帐户使用Microsoft Entra 帐户或主帐户的确切用户主体名称(UPN)。

例: 如果 UPN 是 john.doe@contoso.com 但你有别名 jdoe@contoso.com,则必须使用 john.doe@contoso.com登录。

解决方案:要求管理员将你的实际 UPN(john.doe@contoso.com)添加到组织中,并始终使用此 UPN 登录。

权限不足

你可能具有组织访问权限,但缺少特定项目或资源的权限。

症状:

  • 可以访问https://dev.azure.com/{orgName},但不能访问https://dev.azure.com/{orgName}/{projectName}
  • 访问特定工作项、存储库或管道时收到 401 错误。

分辨率: 请联系 Azure DevOps 管理员,验证你对目标资源至少具有 读取 权限。

B2B 来宾邀请问题

在访问 Azure DevOps 之前,B2B 来宾必须接受其Microsoft Entra 租户邀请。

来宾的解决方法步骤:

  1. 检查电子邮件中是否有Microsoft Entra 邀请。
  2. 选择邀请链接并完成接受过程。
  3. 尝试再次登录到 Azure DevOps。

租户管理员的解决方法步骤:

  1. 转到 https://portal.azure.com
  2. 选择 Microsoft Entra ID>用户
  3. 查找来宾用户并查看其 “概述 ”页。
  4. 如果 B2B 邀请状态显示“待接受”,请使用 重新发送邀请

帐户类型冲突

未连接到 Microsoft Entra ID 的组织支持个人Microsoft帐户和 Microsoft Entra 帐户。 您使用的第一个帐户类型会永久确定您的身份。

分辨率: 如果需要更改帐户类型:

  1. 让管理员删除并重新添加到组织。
  2. 出现提示时,请使用首选帐户类型登录。

小窍门

避免使用匹配的个人帐户和Microsoft Entra 帐户。 请考虑 重命名个人帐户 ,以防止混淆。

解决连接故障问题

完成注销和清理:

  1. 完全注销:转到 https://aka.ms/VsSignout
  2. 清除所有浏览器数据:选择 Ctrl+Shift+Delete 并删除:
    • Cookie 和网站数据。
    • 缓存的图像和文件。
    • 自动填充表单数据。
  3. 清除Microsoft Edge 数据:Visual Studio IDE 使用 Microsoft Edge Cookie,因此即使使用不同的浏览器,也清除Microsoft Edge 数据。
  4. 关闭所有应用程序:退出所有浏览器和 Visual Studio IDE 实例。
  5. 使用专用浏览进行测试:使用 incognito 或 InPrivate 窗口测试访问权限。

Visual Studio IDE 连接问题

如果在 Visual Studio 中遇到连接问题:

  1. 删除现有连接:在团队资源管理器中,删除所有 Azure DevOps 连接。
  2. 清除凭据缓存:从 Windows 凭据管理器中删除缓存的凭据。
  3. 重启 Visual Studio:完全关闭并重新打开 Visual Studio。
  4. 已读连接:使用当前凭据再次添加 Azure DevOps 连接。

网络和代理问题

企业网络故障排除:

  1. 从不同的网络进行测试:尝试从个人设备/网络访问 Azure DevOps。
  2. 检查代理设置:验证公司代理允许 *.visualstudio.com*.azure.com 域。
  3. 防火墙配置:确保防火墙允许将 HTTPS 流量发送到 Azure DevOps 终结点。
  4. VPN 干扰:如果适用,请禁用 VPN 进行测试。

高级故障排除

现代身份验证迁移

如果使用旧式身份验证方法,请考虑迁移到新式替代方法:

服务连接身份验证

对于遇到身份验证问题的 Azure DevOps 服务连接:

  1. 刷新服务主体机密:更新过期的客户端机密或证书。
  2. 验证权限:确保服务主体具有适当的 Azure DevOps 权限。
  3. 检查令牌过期:验证身份验证令牌是否未过期。
  4. 查看审核日志:检查Microsoft Entra 审核日志中是否存在身份验证失败。

使用 AI 排查连接问题

以下 Copilot Chat 的示例提示可帮助 Copilot 诊断连接和身份验证错误。 将此提示复制并粘贴到 Copilot Chat 中,将占位符替换为特定的错误消息或问题说明。

I'm getting this Azure DevOps connection/authentication error: [PASTE YOUR ERROR MESSAGE HERE]

Can you help me troubleshoot this issue? Please provide step-by-step instructions to:
1. Identify the root cause of the connection problem
2. Fix the authentication or access issue
3. Verify I can successfully connect to my Azure DevOps project

Context: This is for connecting to an Azure DevOps organization and project. I've already tried basic troubleshooting like clearing browser cache and using a private browser session.

Copilot 由 AI 提供支持,因此可能会带来意外和错误。 有关详细信息,请参阅 Copilot 常规使用常见问题解答

获取其他帮助

完成所有故障排除步骤后,仍无法连接:

  1. 收集诊断信息:创建失败登录尝试的 浏览器跟踪
  2. 请联系Microsoft支持创建支持请求 并包括:
    • 问题的详细说明。
    • 已尝试的步骤。
    • 浏览器跟踪文件。
    • 错误消息的屏幕截图。
  3. 社区支持:在 Azure DevOps 开发人员社区上搜索或发布问题。