如何在 VSTS 中的托管代理上运行或安装工具

Twi*_*kle 5 powershell cmd git-tfs chocolatey azure-devops

我想在 VSTS 上以管理员身份运行 cmd。

实际上,我正在尝试在 VSTS 托管代理上安装带有 Chocolatey 工具管理器的 git-tfs,因此我在 VSTS 命令行任务上运行以下命令:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString(' https://chocolatey .org/install.ps1 '))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

或者,

另外,VSTS 还提供了 Chocolatey 任务进行安装,您可以在屏幕截图中看到这一点:

在此输入图像描述

上述两种方法都会给出相同的错误:

[错误]System.Management.Automation.RuntimeException:将 Chocolatey 安装到默认文件夹需要管理权限。请从提升的提示符运行。如果需要以非管理员身份安装,请参阅https://chocolatey.org/install了解详细信息和替代方案。---> System.Management.Automation.RuntimeException:将 Chocolatey 安装到默认文件夹需要管理权限。请从提升的提示符运行。如果需要以非管理员身份安装,请参阅https://chocolatey.org/install了解详细信息和替代方案。

Gar*_*ark 3

我刚刚做了一个快速测试,如下:

  1. 使用托管 2017 构建代理设置 VSTS 构建
  2. 添加了包含以下内容的 PowerShell 任务

    choco 列表 --仅限本地

  3. 运行构建

此命令正确输出当前通过 Chocolatey 安装的 Chocolatey 软件包列表。

这告诉我,Chocolatey 已安装在 Hosted 2017 Build Agent 上,因此,您不需要再次安装它。相反,您应该能够使用它安装其他应用程序。

注意:您尝试安装的软件包仍将受到相同的权限的约束。因此,如果您尝试安装需要管理权限的应用程序,那么您可能会遇到同样的问题。