我想在 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 了解详细信息和替代方案。
最佳答案
我刚刚做了一个快速测试,如下:
- 使用托管 2017 构建代理设置 VSTS 构建
添加了包含以下内容的 PowerShell 任务
choco 列表 --仅限本地
运行构建
此命令正确输出当前通过 Chocolatey 安装的 Chocolatey 软件包列表。
这告诉我,Chocolatey 已安装在 Hosted 2017 Build Agent 上,因此,您不需要再次安装它。相反,您应该能够使用它安装其他应用程序。
注意:您尝试安装的软件包仍将受到相同的权限的约束。因此,如果您尝试安装需要管理权限的应用程序,那么您可能会遇到同样的问题。
关于powershell - 如何在 VSTS 中的托管代理上运行或安装工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49294430/