Migración de Azure PowerShell de AzureRM a AzMigrate Azure PowerShell from AzureRM to Az

El módulo Az incluye paridad de características con AzureRM, pero usa nombres de cmdlet más cortos y más coherentes.The Az module has feature parity with AzureRM, but uses shorter and more consistent cmdlet names. Los scripts escritos para los cmdlets de AzureRM no funcionan automáticamente con el nuevo módulo.Scripts written for the AzureRM cmdlets won't automatically work with the new module. Para facilitar la transición, Az ofrece herramientas que le permiten ejecutar los scripts existentes con AzureRM.To make the transition easier, Az offers tools to allow you to run your existing scripts using AzureRM. No es conveniente nunca una migración a un nuevo conjunto de comandos, pero este artículo le ayudará a empezar a trabajar en la transición al nuevo módulo.No migration to a new command set is ever convenient, but this article will help you get started on transitioning to the new module.

Para ver la lista completa de los cambios importantes entre AzureRM y Az, consulte los cambios completos de AzureRM a Az.To see the full list of breaking changes between AzureRM and Az, see the full changes from AzureRM to Az.

Asegúrese de que los scripts existentes funcionan con la versión más reciente de AzureRM.Ensure existing scripts work with the latest AzureRM release

Antes de llevar a cabo los pasos de la migración, compruebe qué versiones de AzureRM están instaladas en el sistema.Before taking any migration steps, check which versions of AzureRM are installed on your system. Así podrá asegurarse de que ya se están ejecutando las últimas versiones de los scripts y saber qué versiones de AzureRM se pueden desinstalar.Doing so allows you to make sure scripts are already running on the latest release, and let you know which versions of AzureRM must be uninstalled.

Para comprobar qué versiones de AzureRM tiene instaladas, ejecute el comando:To check which version(s) of AzureRM you have installed, run the command:

Get-InstalledModule -Name AzureRM -AllVersions

La versión más reciente disponible de AzureRM es la 6.13.1.The latest available release of AzureRM is 6.13.1. Si no tiene instalada esta versión, los scripts existentes pueden necesitar modificaciones adicionales para trabajar con el módulo Az más allá de lo que se describe aquí y en la lista de cambios importantes.If you don't have this version installed, your existing scripts may need additional modification to work with the Az module beyond what's described here and in the breaking changes list.

Si los scripts no funcionan con AzureRM 6.13.1, debe actualizarlos según la Guía de migración de AzureRM 5.x a 6.x.If your scripts don't work with AzureRM 6.13.1, update them according to the AzureRM 5.x to 6.x migration guide. Si usa una versión anterior del módulo AzureRM, hay guías de migración disponibles para cada versión principal.If you use an earlier version of the AzureRM module, there are migration guides available for each major version.

Desinstalación de AzureRMUninstall AzureRM

No se garantiza que el módulo Az sea compatible con las instalaciones existentes de AzureRM en PowerShell 5.1 para Windows.The Az module is not guaranteed to be compatible with any existing AzureRM installs in PowerShell 5.1 for Windows. Antes de instalar el módulo Az, debe desinstalar AzureRM.Before you install the Az module, uninstall AzureRM.

Importante

Si no está listo para eliminar el módulo AzureRM de su sistema, puede instalar el módulo Az para PowerShell Core 6.x o posterior en su lugar.If you're not ready to remove the AzureRM module from your system, you can install the Az module for PowerShell Core 6.x or later instead. PowerShell Core y PowerShell 5.1 para Windows utilizan bibliotecas de módulos diferentes, por lo que no habrá ningún conflicto.PowerShell Core and PowerShell 5.1 for Windows use different module libraries, so there will be no conflicts. También puede habilitar los alias en PowerShell Core.You can still enable aliases in PowerShell Core.

Instalación del módulo Az de Azure PowerShellInstall the Azure PowerShell Az module

El primer paso es instalar el módulo Az en la plataforma.The first step is to install the Az module on your platform. Para instalar Az, se recomienda desinstalar AzureRM.When you install Az, it's recommended that you uninstall AzureRM. En los pasos siguientes, obtendrá información sobre cómo seguir ejecutando los scripts existentes y habilitar la compatibilidad con los nombres de cmdlet antiguos.In the following steps, you'll learn how to keep running your existing scripts and enable compatibility for old cmdlet names.

Para instalar el módulo Az de Azure PowerShell, siga las instrucciones descritas en Instalación del módulo Az.To install the Azure PowerShell Az module, follow the instructions in Install the Az module.

Nota

En este momento, es posible que desee ejecutar el cmdlet Uninstall-AzureRM, proporcionado en el módulo Az, simplemente para asegurarse de que todas las versiones de AzureRM se han desinstalado y no provocarán conflictos.At this point, you might want to run the Uninstall-AzureRM cmdlet provided in the Az module, just to make sure that all versions of AzureRM have been uninstalled and won't cause conflicts.

Habilitación de los alias de compatibilidad de AzureRMEnable AzureRM compatibility aliases

Con AzureRM desinstalado y los scripts con la versión más reciente de AzureRM, es el momento de habilitar el modo de compatibilidad para el módulo Az.With AzureRM uninstalled and your scripts working with the latest AzureRM version, the next step is to enable the compatibility mode for the Az module. La compatibilidad se habilita con el comando:Compatibility is enabled with the command:

Enable-AzureRmAlias -Scope CurrentUser

Los alias permiten usar los nombres de cmdlet anteriores con el módulo Az instalado.Aliases enable the ability to use old cmdlet names with the Az module installed. Estos alias se escriben en el perfil para el ámbito seleccionado.These aliases are written to the profile for the selected scope. Si no existe ningún perfil, se crea uno.If no profile exists, one is created. Cuando se usa un elemento -Scope más amplio que CurrentUser, se requieren los permisos adecuados para crear o actualizar el archivo de perfil correspondiente.When using a -Scope broader than CurrentUser, the appropriate permissions are required to create or update the corresponding profile file.

Importante

Solo son un alias los nombres de cmdlet, no los nombres de módulo.Only cmdlet names are aliased - module names aren't! Si usa #Requires, Import-Module, listas de dependencias en un archivo .psd1 o nombres de cmdlet completos, asegúrese de que se migran en este momento siguiendo el proceso descrito en la lista de cambios importantes en lo relativo a los nombres de módulo.If you're using #Requires, Import-Module, dependency lists in a .psd1, or fully-qualified cmdlet names, make sure that you migrate them at this point by following the process outlined in the breaking changes list regarding module names.

Advertencia

Puede usar otro valor de -Scope para este comando, pero no se recomienda.You can use a different -Scope for this command, but it's not recommended. Los alias se escriben en el perfil de usuario para el ámbito seleccionado, por lo tanto, mantenga su habilitación en un ámbito tan limitado como sea posible.Aliases are written to the user profile for the selected scope, so keep enabling them to as limited a scope as possible. Habilitar los alias en todo el sistema también podría causar incidencias a otros usuarios que tengan instalado AzureRM en su ámbito local.Enabling aliases system-wide can cause issues for other users who have AzureRM installed in their local scope.

Una vez activado el modo de alias, ejecute los scripts para confirmar que siguen funcionando según lo previsto.Once the alias mode is enabled, run your scripts again to confirm that they still function as expected. Algunos nombres de parámetro han cambiado, se han agregado o ahora son requeridos por el módulo Az.Some parameter names have been changed, added, or made required by the Az module. Los tipos de salida de los cmdlets pueden haber cambiado también.Output types of cmdlets may have changed as well. Estos cambios se detallan en la lista de cambios importantes.These changes are detailed in the breaking changes list.

Actualización de cmdlets, módulos y parámetrosUpdate cmdlets, modules, and parameters

Con los scripts actualizados y que se ejecutan como alias, puede tomarse su tiempo en actualizarlos para que usen los nuevos cmdlets y sacar provecho de otros cambios, como las nuevas características.With scripts updated and running under aliases, you can take your time to update them to use the new cmdlets and take advantage of other changes like new features. Para la mayoría de los scripts, solo necesitará actualizar los nombres de cmdlet siguiendo el nuevo esquema de nomenclatura de cmdlets en Az.For most scripts, you will only need to update cmdlet names, following the new cmdlet naming scheme in Az. También puede haber otros cambios que deberá realizar para que los scripts funcionen, según lo que hacen y qué características de Azure PowerShell aprovechan.There may also be some other changes that you need to make in order to have your scripts work, depending on what they do and which Azure PowerShell features they take advantage of.

Por ejemplo, los cmdlets de Blob Storage se han reconstruido completamente para usar un nuevo modelo asincrónico, por lo que los scripts que los utilicen necesitarán más trabajo de actualización que aquellos en los que solo había que cambiar los nombres de cmdlet.For example, the Blob Storage cmdlets have been completely reworked to use a new asynchronous model, so scripts using them will take more work to update than those where the only relevant changes were cmdlet names.

Aunque hasta el momento solo tenga que hacer cambios pequeños y sencillos en los scripts o incluso aunque funcionen sin modificaciones adicionales cuando se habilitan los alias, consulte la lista completa de cambios importantes en Az 1.0.0 para asegurarse de que no está confiando en un comportamiento "transparente" de los alias que podría desaparecer después de cambiar los nombres de cmdlet y deshabilitar los alias.Even if you've only had to make small, simple changes to your scripts up to this point - or they even work without additional modification when aliases are enabled - read the full list of breaking changes in Az 1.0.0 to make sure that you're not relying on 'transparent' behavior of aliases which could disappear after you change cmdlet names and disable aliases.

Deshabilitación de los aliasDisable aliases

Una vez que haya completado la migración y ya no dependa del comportamiento de los alias, se recomienda que deshabilite los alias.Once you've completed your migration and are no longer relying on aliasing behavior, it's recommended that you disable aliases. Esto se realiza con el cmdlet Disable-AzureRmAlias.This is done with the Disable-AzureRmAlias cmdlet.

Importante

Cuando se ejecuta este cmdlet, asegúrese de invocarlo para cada elemento -Scope para el que se ha invocado Enable-AzureRmAlias; en caso contrario, puede haber scripts en el sistema que dependan del comportamiento de los alias.When running this cmdlet, make sure that you invoke it for each -Scope that Enable-AzureRmAlias was invoked for, otherwise there may still be scripts on your system relying on the aliasing behavior.