我有一个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
,但在已安装的模块列表中没有看到它。
[从去年开始,Az
作为新的跨平台PowerShell模块发布,它完全独立于AzureRM
。由于Az
和AzureRM
对不同版本使用相同的依赖项,因此不可能在同一PowerShell会话中并行运行Az
和AzureRM
。这就是为什么您收到第一条错误消息的原因。第一个解决方案是,如果没有使用
AzureRM
的脚本,则删除所有AzureRM
模块。但是,如果您继续想将
AzureRM
用于部分脚本,同时还要用Az
编写其他脚本。您可以使用Azure Powershell任务V4.0执行。