我希望在Azure DevOps发布管道中使用Azure PowerShell Module(也称为Az模块)。然而,现有的PowerShell选项似乎无法正常工作。我尝试了各种方法,但安装新的Az模块只会引起大量错误,包括
上面的错误很可能是由于当Azure PowerShell任务启动时,在运行我的脚本之前执行以下操作:
自然而然,在新项目中,我不想使用一个不再更新的模块创建PowerShell脚本。
并且往后考虑,即使我成功克服了这个问题,我仍需要以某种方式进行Azure身份验证,现有的Azure DevOps UI会为我完成此操作,但我还不知道如何使用Az模块实现这一点。
谷歌搜索似乎没有帮助,因为大多数信息仍然涉及已弃用的AzureRM模块。所以...总之。
我如何在Azure DevOps发布管道中使用Azure(Az)PowerShell模块?
Az和AzureRM模块不能在同一会话中导入或在同一脚本或运行簿中使用。
常规的PowerShell任务中没有内置任何Azure模块。而Azure PowerShell任务使用Azure RM PowerShell module,该模块已被弃用(即仍受支持,但不会添加新功能)。上面的错误很可能是由于当Azure PowerShell任务启动时,在运行我的脚本之前执行以下操作:
2019-01-13T13:34:14.5416432Z ==============================================================================
2019-01-13T13:34:14.5416555Z Task : Azure PowerShell
2019-01-13T13:34:14.5416623Z Description : Run a PowerShell script within an Azure environment
2019-01-13T13:34:14.5416705Z Version : 3.1.18
2019-01-13T13:34:14.5416762Z Author : Microsoft Corporation
2019-01-13T13:34:14.5416831Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkID=613749)
2019-01-13T13:34:14.5416969Z ==============================================================================
2019-01-13T13:34:20.3546127Z ##[command]Import-Module -Name C:\Modules\AzureRm_6.7.0\AzureRM\6.7.0\AzureRM.psd1 -Global
2019-01-13T13:34:58.4365259Z ##[command]Clear-AzureRmContext -Scope Process
2019-01-13T13:34:59.2732327Z ##[command]Disable-AzureRmContextAutosave -ErrorAction SilentlyContinue
2019-01-13T13:35:00.1691359Z ##[command]Add-AzureRMAccount -ServicePrincipal -Tenant *** -Credential System.Management.Automation.PSCredential -Environment AzureCloud @processScope
2019-01-13T13:35:01.5702545Z ##[command] Select-AzureRMSubscription -SubscriptionId d5eaaba3-2968-456a-98a4-e53e961fc896 -TenantId ***
2019-01-13T13:35:02.1592660Z ##[command]& 'D:\a\r1\a\ws-build\tools\install-dependencies.ps1'
自然而然,在新项目中,我不想使用一个不再更新的模块创建PowerShell脚本。
并且往后考虑,即使我成功克服了这个问题,我仍需要以某种方式进行Azure身份验证,现有的Azure DevOps UI会为我完成此操作,但我还不知道如何使用Az模块实现这一点。
![将订阅添加到Azure上下文中](https://istack.dev59.com/tZN0Z.webp)
我如何在Azure DevOps发布管道中使用Azure(Az)PowerShell模块?