我正在尝试通过Powershell脚本使用REST API下载TFS构建 Artifact 。我收到401授权错误。有什么我想念的吗?

invoke-webrequest -uri "https://collectionurl/tfs/DefaultCollection/_apis/build/builds/33002/artifacts?artifactName=drop&api-version=2.0&%24format=zip" -OutFile "C:\Temp\drop.zip" -UseDefaultCredentials

也通过浏览器进行了尝试,不断提供凭据弹出窗口。我验证了我的帐户访问权限,一切似乎都很完美。

我正在部署TFS 2018。

最佳答案

您的API看起来不错,似乎只是调用了整个drop文件夹的下载网址。就像这张票:How to get the download url of the artifact in Visual Studio Team Services?

根据您的描述,即使通过浏览器,它仍然会不断提供凭据弹出窗口。

如果是这样,您的问题可能与凭据缓存有关。尝试清除存储在控制 Pane -凭据管理器中的所有TFS凭据缓存。

此外,除了使用帐户/密码,您还可以尝试使用 PAT 。用户名应为空。 PAT是密码。

由于您将PAT与本地TFS服务器一起使用,因此请检查是否已关闭基本身份验证。



关于如何使用Powershell下载构建 Artifact 的更多详细信息,您也可以查看此博客Downloading Build Artifacts in TFS Build

07-24 12:35
查看更多