Azure发布管道Powershell任务失败

时间:2019-10-01 13:36:00

标签: powershell ssis azure-devops azure-pipelines azure-powershell

我有一个Azure发布管道,其中包含失败的Azure Powershell任务内联脚本。我正在运行一个自托管的构建代理。当我从Windows Powershell在本地执行Powershell命令时,该命令运行良好。该任务正在尝试启动DataFactory SSIS集成运行时:

Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName "MyResourceGroup"
                                             -DataFactoryName "my-data-factory"
                                             -Name "myIntegrationRuntime1"
                                             -Force

首先我得到一个警告:

  

警告:AzureRM.Profile已加载。 Az和AzureRM模块不能   在同一会话中导入或在同一脚本或运行手册中使用。   如果您在可以控制的环境中运行PowerShell,则可以   使用'Uninstall-AzureRm'cmdlet从中删除所有AzureRm模块   您的机器。如果您在Azure自动化中运行,请注意   您的任何运行本都不会同时导入Az和AzureRM模块。更多   有关信息,请参见https://aka.ms/azps-migration-guide

然后出现错误:

  

在以下位置找到了“ Start-AzDataFactoryV2IntegrationRuntime”命令   模块“ Az.DataFactory”,但无法加载该模块。欲了解更多   信息,请运行“导入模块Az.DataFactory”。

当我查看已安装的模块时,我看到同时安装了AzureRM和Az,尽管我运行命令Import-Module Az.DataFactory,但在已安装模块的列表中没有看到它。

1 个答案:

答案 0 :(得分:3)

  

警告:AzureRM.Profile已加载。 Az和AzureRM模块不能   在同一会话中导入或在同一脚本或运行手册中使用。

从去年开始,Az作为新的跨平台PowerShell模块发布,它完全独立于AzureRM。由于AzAzureRM在不同版本中使用相同的依赖项,因此不可能在同一PowerShell会话中并行运行AzAzureRM。这就是为什么您收到第一条错误消息的原因。

第一种解决方案是,如果没有使用AzureRM的脚本,则删除所有AzureRM模块。

但是,如果您继续想将AzureRM用于部分脚本,同时还要使用Az编写另一个脚本。您可以使用Azure Powershell任务V4.0执行。