你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将 Azure PowerShell 从 AzureRM 迁移到 Az

警告

截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 建议用户从 AzureRM 迁移到 Az PowerShell 模块,以确保持续支持和更新。

尽管 AzureRM 模块仍然可能正常运行,但它已不再维护或提供支持,继续使用将由用户自行决定并承担风险。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源

确定是否使用 AzureRM PowerShell 模块

使用以下命令确定是否安装了 AzureRM PowerShell 模块:

Get-Module -Name AzureRM -ListAvailable

还可以对脚本执行全文搜索,寻找 *-AzureRM* 模式以确定是否有任何脚本正在使用 AzureRM PowerShell 模块。

升级到 Az PowerShell 模块

为 AzureRM cmdlet 编写的脚本不会自动兼容 Az。 为了更轻松地转换,我们开发了 AzureRM 到 Az 迁移工具包。 迁移到新的命令集从来都不是件轻松的事,但本文将帮助您开始过渡到 Az PowerShell 模块。 要详细了解创建 Az PowerShell 模块的原因,请参阅 Az Powershell 模块简介

新 cmdlet 名称已设计为易于学习。 请勿在 cmdlet 名称中使用 AzureRmAzure,而是使用 Az。 例如,旧的 cmdlet New-AzureRMVm 已变为 New-AzVm。 但是,在进行迁移时,并非熟悉新的 cmdlet 名称就可以了。 有重命名的模块、参数和其他重要更改。

若要查看从 AzureRM 到 Az 的中断性变更的完整列表,请参阅从 AzureRM 到 Az 的全部变更

确保现有脚本适用于最新的 AzureRM 版本

在执行任何迁移步骤之前,请确定系统上安装了 AzureRM 的哪些版本。 这样做使你可以确保脚本已在最新版本上运行,并了解哪些 AzureRM 版本必须卸载。

若要确定已安装的 AzureRM 版本,请运行以下示例:

Get-Module -Name AzureRM -ListAvailable -All

AzureRM 的最新 版本为 6.13.2 如果尚未安装此版本,则除了本文和中断性变更列表中描述的内容,现有脚本可能还需要进行其他修改才能使用 Az 模块。

如果脚本不兼容 AzureRM 6.13.2,请按照 AzureRM 5.x 到 6.x 迁移指南中的说明对其进行更新。 如果使用早期版本的 AzureRM 模块,则每个主要版本都有可用的迁移指南。

此建议选项可最大程度地减少将 AzureRM 脚本迁移到 Az 所需的工作量。

借助 AzureRM 到 Az 迁移工具包,你可生成一个计划来确定在对脚本执行任何修改之前,以及在安装到 Az PowerShell 模块之前,将在这些脚本上进行哪些更改。

自动将 PowerShell 脚本从 AzureRM 迁移到 Az PowerShell 模块快速入门可指导你完成将 PowerShell 脚本从 AzureRM 自动更新到 Az PowerShell 模块的整个过程。

选项 2:使用与 Enable-AzureRmAlias 兼容的模式

Az 模块具有兼容性模式,可帮助你在更新到新语法时使用现有脚本。 Enable-AzureRmAlias cmdlet 通过别名实现了兼容模式。 通过此模式,可以在尽量减少修改的情况下使用现有脚本,同时努力实现完全迁移到 Az。 默认情况下,Enable-AzureRmAlias 仅为当前的 PowerShell 会话启用兼容别名。 使用其 Scope 参数在 PowerShell 会话中永久保存兼容别名。 有关详细信息,请参阅 Enable-AzureRmAlias 参考文档

重要

尽管 cmdlet 名称有别名,但 Az cmdlet 的参数可能会新增(或重命名),并且返回值可能会发生变化。 不要指望启用别名功能来完成迁移工作。 请参阅中断性变更完整列表,了解在什么情况下可能需要对脚本进行更新。

在弃用 AzureRM PowerShell 模块时,不会弃用对 Enable-AzureRmAlias 的支持。

后续步骤