首页 > 解决方案 > AzureDevOps 上的 TF.exe 和 TfSecurity.exe 身份验证

问题描述

我有一段遗留的 c# 代码(控制台应用程序)作为夜间批处理运行,并在 AzureDevOps 上触发 TF.exe 和 TFSSecurity.exe 命令。这些命令由 c# 代码构建,然后通过启动 PowerShell 并执行它们来执行。到目前为止,一切都运行良好,但最近,它开始因tf30063身份验证错误而失败。

TF30063: You are not authorized to access https://dev.azure.com/

作为我的故障排除的一部分,我选择了一些正在构建的命令,并在交互式 PowerShell 会话中执行它们。

tf permission /recursive $/<tfs_project_name>/ /collection:https://dev.azure.com/<organization_name>/
TFSSecurity /imx adm: /collection:https://dev.azure.com/<organization_name>/

它产生相同的结果 -TF30063: You are not authorized to access https://dev.azure.com/.

登录用户(运行命令的位置)能够通过浏览器访问此 AzureDevOps URL。

再深入一点,我运行了命令:tf settings connections help它返回了以下输出:

Server Url : https://<organization_name>.visualstudio.com/  
User       : 

我实际上是在这里期待传递的 URL:https
: //dev.azure.com/

我真的想弄清楚在 Powershell 中执行这些命令(TF 和 TFSSecurity)时的身份验证流程/过程是什么。AzureDevOps 对话框曾经提示我进行身份验证,但是这些提供的凭据存储在哪里?并且持续多久?我一直在凭据管理器中窥探 Windows 凭据,在这里我发现了一些零碎的东西 - 但没有任何结论。

问题:
是否有人知道这两个应用程序(tf.exe 和 TfSecurity.exe)如何处理身份验证和凭据存储?

系统规格:
操作系统:Windows Server 2016
Powershell 版本:5.1.14393.3053
tf.exe 和 TfSecurity.exe 的位置(版本) C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\ Microsoft\TeamFoundation\ 团队资源管理器>

标签: c#powershellauthenticationazure-devops

解决方案


tf.exe 引用的缓存凭据可能已损坏。我们不知道是什么导致了这个问题,我们也不能给出解决这个问题的特定方法。您必须尝试以下可能的解决方案来缩小修复范围。

1、

使用 Visual Studio 中的浏览器,查看->其他 Windows->Web 浏览器并导航到https://dev.azure.com/。然后检查是否登录了错误的帐户,如果登录了错误的帐户,请注销并重新登录。

2、

从 VS 的开发人员命令提示符运行以下命令:

tf workspaces /collection:https://dev.azure.com/<organization_name>

3、

转到团队资源管理器 > 管理连接(主页按钮旁边的小插头)> 右键单击​​项目 > 连接。然后重新输入您的凭据。

4、清除所有缓存

关闭所有 Visual Studio 实例,像您一样删除 %LOCALAPPDATA%.IdentityService。

清除 TFS 缓存 %LOCALAPPDATA%\Microsoft\Team Foundation\7.0\Cache

清除所有浏览器缓存,尤其是存储的密码

5、以另一个用户身份运行Visual Studio:

cd C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE

runas /netonly /用户:devenv.exe

输入用户密码,然后 Team Explorer > Manage Connections

如果上述方法均无法解决此问题。请在此处此处查看更多可能的解决方案。

如果上述问题仍然存在,您也可以向Micrsoft Develop 社区报告问题(报告问题 > Azure Devops)。

对于服务器 URL:https://.visualstudio.com/。它是旧版本的dev.azure.com 域名。官方文档说可以照常使用。

更新:

TFSSecurity 的 TF30063 错误

TFSSecurity 的缓存凭据存储在注册表中。你可以删除它。

HKEY_CURRENT_USER\Software\Microsoft\VSCommon\14.0\ClientServices\TokenStorage\VisualStudio\VssApp

删除上述注册表中的缓存凭据后。当您再次运行 tfssecurity.exe 命令时,它将提示您重新输入凭据。

在此处输入图像描述


推荐阅读