我正在Azure DevOps中创建生成管道。我有一个PowerShell任务,该任务调用文件中的脚本-它不是“内联” PowerShell。该脚本需要Az.Accounts
模块,因此我添加了Import-Module Az.Accounts
。运行管道时,得到以下信息:
Import-Module : The specified module 'Az.Accounts' was not loaded because no valid module file was found in any module
directory.
At D:\a\1\s\XXX\XXX\XXX.ps1:14 char:1
+ Import-Module Az.Accounts
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (Az.Accounts:String) [Import-Module], FileNotFoundException
+ FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand
如何添加缺少的模块,以便脚本可以运行?
答案 0 :(得分:1)
托管代理未安装Az
模块,而是安装了较旧的AzureRM
模块。
您应该可以使用Install-Module
来安装它们。或者,您可以重写脚本以使用AzureRM
。
答案 1 :(得分:1)
将 Azure Devops 与托管的 windows-2019 映像一起使用时,我建议您使用“AzurePowerShell”任务而不是普通的“PowerShell”任务,版本为 @4 或更高。
documentation of this task can be found here.。向下滚动以查看与版本控制相关的选项。
语法和参数几乎与 PowerShell 任务相同,只是您不再需要在 Azure 中登录(您在参数中提供服务连接)。
您不需要做一些疯狂的事情,例如安装 Az 模块或卸载 AzureRM。如果您使用 AzurePowerShell 任务,则它可供您使用。
注意:不要在同一脚本中使用 Az 命令和 AzureMR(已弃用)命令。
答案 2 :(得分:0)