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

标签 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('https://chocolatey.org/install.ps1' ))"&& SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

或者,

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

enter image description here

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

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

最佳答案

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

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

    choco 列表 --仅限本地

  3. 运行构建

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

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

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

关于powershell - 如何在 VSTS 中的托管代理上运行或安装工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49294430/

相关文章:

django - PostgreSQL:无法连接到服务器:连接被拒绝

git - 此 pull 请求需要显式覆盖以绕过当前未通过的策略

Azure Devops 由于权限无法以编程方式创建服务 Hook

powershell - 该powershell语法在做什么?

powershell - 如何从组的成员属性中提取安全标识符?

multithreading - Powershell v2.0 使用多线程

windows - 如何在 Windows 上使用 x86 perl 系统启动 x64 shell

sql-server - 如何使用 SSIS 将 Powershell 输出加载到 SQL 表中?

windows - 对带有特殊符号的文件进行 CALL 失败

azure-devops - Azure devops管道条件名称