如何导入PowerShell模块以供管道任务使用
我正在Azure DevOps中创建一个构建管道。我有一个PowerShell任务,它调用文件中的脚本-它不是“内联”PowerShell。该脚本需要如何导入PowerShell模块以供管道任务使用,powershell,azure-devops,Powershell,Azure Devops,我正在Azure DevOps中创建一个构建管道。我有一个PowerShell任务,它调用文件中的脚本-它不是“内联”PowerShell。该脚本需要Az.Accounts模块,因此我添加了Import模块Az.Accounts。当我运行管道时,我得到以下信息: Import-Module : The specified module 'Az.Accounts' was not loaded because no valid module file was found in any module
Az.Accounts
模块,因此我添加了Import模块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
如何添加缺少的模块以便脚本可以运行?托管代理没有安装
Az
模块——它们安装了较旧的AzureRM
模块
您应该能够使用
安装模块
安装它们。或者,您可以重写脚本以使用AzureRM
默认情况下,托管的windows代理只包括AzureRM模块,该模块较旧。使用Az模块,Azure PowerShell现在与windows上的PowerShell 5.1和PowerShell Core 6.x以及所有受支持平台(包括windows、macOS、,这是最大也是最重要的变化
您可以添加用于安装Az.Accounts
模块的内嵌powershell任务
请注意,如果不在脚本中添加-force
参数,您将在过程中获得此信息
User declined to install module (Az.Accounts).
在将Azure Devops与托管的windows-2019映像一起使用时,我建议您使用版本为@4或更高的“AzurePowerShell”任务,而不是普通的“PowerShell”任务 。向下滚动查看与版本控制相关的选项 语法和参数几乎与PowerShell任务相同,只是您不再需要登录Azure(您在参数中提供了服务连接) 你不需要做一些疯狂的事情,比如安装Az模块或卸载AzureRM。如果您使用AzurePowerShell任务,它将对您可用
注意:不要在同一脚本中使用Az命令和AzureMR(已弃用)命令。您使用的是托管代理还是专用代理?这是Windows代理上的托管VS2019。