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

时间:2018-03-15 08:18:31

标签: powershell cmd azure-devops chocolatey git-tfs

我想在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('{{ 3}}'))“&& SET“PATH =%PATH%;%ALLUSERSPROFILE%\ chocolatey \ bin”

,或者

另外,VSTS还提供了安装的巧克力任务,您可以在屏幕截图中看到:

https://chocolatey.org/install.ps1

上述两种方法都给出了同样的错误:

[error] System.Management.Automation.RuntimeException:将Chocolatey安装到默认文件夹需要管理权限。请从提升的提示运行。如果需要以非管理员身份安装,请参阅enter image description here以获取详细信息和备选方案。 ---> System.Management.Automation.RuntimeException:将Chocolatey安装到默认文件夹需要管理权限。请从提升的提示运行。如果需要以非管理员身份安装,请参阅https://chocolatey.org/install以获取详细信息和备选方案。

2 个答案:

答案 0 :(得分:2)

我刚做了一个快速测试,其中包括以下内容:

  1. 使用Hosted 2017 Build Agent
  2. 设置VSTS Build
  3. 添加了PowerShell任务,其中包含以下内容

    choco list --local-only

  4. 跑出构建

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

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

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

答案 1 :(得分:1)

你通常不能。如果某些内容需要管理员访问权限并且您正在使用托管代理,则无法执行此操作。

针对您的具体问题,我首先查看此资源,错误消息提供给您:

  

“如果需要以非管理员身份安装,请参阅https://chocolatey.org/install以获取详细信息和替代方案。”