Azure DevOps管道中的Powershell脚本无法访问Internet

时间:2020-02-21 23:45:04

标签: powershell azure-vm

已配置Azure VM,并配置了代理设置。当我们在VM计算机上进行远程登录并插入powershell命令时,如下所示:

Find-Module dockeraccesshelper

我们得到答复:

Version    Name                                Repository           Description
-------    ----                                ----------           -----------
0.0.3      dockeraccesshelper                  PSGallery            Allow a user account to access the docker engine...

因此,很明显,可以从VM机器中的管理Powershell命令行查询Powershell存储库中的模块。为了进一步确认,我发出了以下命令:

Get-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

我可以看到列出的代理服务器。我还可以看到“环境变量”列表下列出了代理服务器。

但是,如果我尝试从Azure Devops管道在VM上执行powershell脚本文件,则会出现以下错误:

WARNING: MSG:UnableToDownload «https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409» «»
WARNING: Unable to download the list of available providers. Check your internet connection.
##[error]PackageManagement\Get-Package : No match was found for the specified search criteria and module names 'VSSetup'.

可以理解,VM管理员具有比Azure DevOps Build Agent更多的访问权限。但是它至少应该能够访问互联网。

让我详细介绍一下powershell脚本在做什么:

  1. 从ps画廊安装一些Powershell模块。

如果以内联命令运行以下命令,则会从管道中收到以下响应:

Log on to the computer with an account that has Administrator rights, and then try again, or install

'C:\ windows \ ServiceProfiles \ NetworkService \ Documents \ WindowsPowerShell \ Modules' 通过在命令中添加“ -Scope CurrentUser”。 您也可以尝试以提升的权限运行Windows PowerShell会话(以管理员身份运行)。

因此,很显然,构建代理必须具有提升的管理员访问权限才能安装/更新模块。有关如何操作的任何提示?

0 个答案:

没有答案