已配置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脚本在做什么:
如果以内联命令运行以下命令,则会从管道中收到以下响应:
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会话(以管理员身份运行)。
因此,很显然,构建代理必须具有提升的管理员访问权限才能安装/更新模块。有关如何操作的任何提示?