Eseguire la migrazione di Azure PowerShell da AzureRM ad AzMigrate Azure PowerShell from AzureRM to Az

Il modulo Az offre parità delle funzionalità rispetto ad AzureRM, ma usa nomi di cmdlet più brevi e coerenti.The Az module has feature parity with AzureRM, but uses shorter and more consistent cmdlet names. Gli script scritti per i cmdlet di AzureRM non funzioneranno automaticamente con il nuovo modulo.Scripts written for the AzureRM cmdlets won't automatically work with the new module. Per facilitare la transizione, Az offre strumenti che consentono di eseguire gli script esistenti con AzureRM.To make the transition easier, Az offers tools to allow you to run your existing scripts using AzureRM. Per quanto nessuna migrazione a un nuovo set di comandi sia immediata, questo articolo consentirà di iniziare la transizione al nuovo modulo.No migration to a new command set is ever convenient, but this article will help you get started on transitioning to the new module.

Per visualizzare l'elenco completo delle modifiche di rilievo tra AzureRM e Az, vedere Modifiche di rilievo della migrazione da AzureRM ad Az.To see the full list of breaking changes between AzureRM and Az, see the full changes from AzureRM to Az.

Verificare il funzionamento degli script esistenti con l'ultima versione di AzureRMEnsure existing scripts work with the latest AzureRM release

Prima di eseguire i passaggi di migrazione, verificare quali versioni di AzureRM sono installate nel sistema.Before taking any migration steps, check which versions of AzureRM are installed on your system. In questo modo è possibile assicurarsi che gli script siano già in esecuzione nella versione più recente e sapere quali versioni di AzureRM devono essere disinstallate.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.

Per controllare quale versione di AzureRM è stata installata, eseguire il comando:To check which version(s) of AzureRM you have installed, run the command:

Get-InstalledModule -Name AzureRM -AllVersions

La versione più recente disponibile di AzureRM è la 6.13.1.The latest available release of AzureRM is 6.13.1. Se questa versione non è installata, per poter usare gli script esistenti con il modulo Az, può essere necessario apportare ulteriori modifiche oltre a quelle descritte in questo articolo e nell'elenco di modifiche di rilievo.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.

Se gli script non funzionano con AzureRM 6.13.1, aggiornarli in base alle indicazioni della guida alla migrazione di AzureRM dalla versione 5.x alla versione 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. Se si usa una versione precedente del modulo AzureRM, sono disponibili guide alla migrazione per ogni versione principale.If you use an earlier version of the AzureRM module, there are migration guides available for each major version.

Disinstallare AzureRMUninstall AzureRM

Il modulo Az non è necessariamente compatibile con tutte le installazioni esistenti di AzureRM in PowerShell 5.1 per Windows.The Az module is not guaranteed to be compatible with any existing AzureRM installs in PowerShell 5.1 for Windows. Prima di installare il modulo Az, disinstallare AzureRM.Before you install the Az module, uninstall AzureRM.

Importante

Se non si è ancora pronti a rimuovere il modulo AzureRM dal sistema, è possibile disinstallare il modulo Az per PowerShell Core 6.x o versione successiva.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 e PowerShell 5.1 per Windows usano librerie di moduli diverse, di conseguenza non si verificheranno conflitti.PowerShell Core and PowerShell 5.1 for Windows use different module libraries, so there will be no conflicts. È comunque possibile abilitare gli alias in PowerShell Core.You can still enable aliases in PowerShell Core.

Installare il modulo Az di Azure PowerShellInstall the Azure PowerShell Az module

Il primo passaggio consiste nell'installare il modulo Az nella piattaforma.The first step is to install the Az module on your platform. Quando si installa Az, è consigliabile disinstallare AzureRM.When you install Az, it's recommended that you uninstall AzureRM. I passaggi riportati di seguito illustreranno come continuare a eseguire gli script esistenti e abilitare la compatibilità per i nomi dei cmdlet precedenti.In the following steps, you'll learn how to keep running your existing scripts and enable compatibility for old cmdlet names.

Per installare il modulo Az di Azure PowerShell, seguire le istruzioni in Installare il modulo Az.To install the Azure PowerShell Az module, follow the instructions in Install the Az module.

Nota

A questo punto è opportuno eseguire il cmdlet Uninstall-AzureRM incluso nel modulo Az, per essere sicuri che tutte le versioni di AzureRM siano state disinstallate e non causino conflitti.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.

Abilitare gli alias per la compatibilità di AzureRMEnable AzureRM compatibility aliases

Dopo la verifica del funzionamento degli script con l'ultima versione di AzureRM e la disinstallazione di AzureRM, il passaggio successivo consiste nell'abilitare la modalità compatibilità per il modulo 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 compatibilità viene abilitata con questo comando:Compatibility is enabled with the command:

Enable-AzureRmAlias -Scope CurrentUser

Gli alias offrono la possibilità di usare i nomi dei cmdlet precedenti con il modulo Az installato.Aliases enable the ability to use old cmdlet names with the Az module installed. Gli alias vengono scritti nel profilo per l'ambito selezionato.These aliases are written to the profile for the selected scope. Se non esistono profili, ne viene creato uno.If no profile exists, one is created. Quando si usa un argomento -Scope con valore più ampio di CurrentUser, sono necessarie le autorizzazioni appropriate per creare o aggiornare il file di profilo corrispondente.When using a -Scope broader than CurrentUser, the appropriate permissions are required to create or update the corresponding profile file.

Importante

Gli alias vengono creati solo per i nomi di cmdlet e non per i nomi di modulo.Only cmdlet names are aliased - module names aren't! Se si usano #Requires, Import-Module, elenchi di dipendenze in un file .psd1 o nomi di cmdlet completi, assicurarsi di eseguire la migrazione in questo momento seguendo il processo descritto nell'elenco delle modifiche di rilievo relativo ai nomi di modulo.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.

Avviso

È possibile usare un valore di -Scope diverso per il comando, ma non è consigliabile.You can use a different -Scope for this command, but it's not recommended. Dato che gli alias vengono scritti nel profilo utente per l'ambito selezionato, abilitarli per un ambito il più limitato possibile.Aliases are written to the user profile for the selected scope, so keep enabling them to as limited a scope as possible. L'abilitazione degli alias a livello di sistema può causare problemi per altri utenti nel cui ambito locale è installato AzureRM.Enabling aliases system-wide can cause issues for other users who have AzureRM installed in their local scope.

Dopo aver abilitato la modalità alias, eseguire di nuovo gli script per verificare che continuino a funzionare come previsto.Once the alias mode is enabled, run your scripts again to confirm that they still function as expected. Alcuni nomi di parametro sono stati modificati, aggiunti o resi obbligatori dal modulo Az.Some parameter names have been changed, added, or made required by the Az module. Anche i tipi di output dei cmdlet possono essere cambiati.Output types of cmdlets may have changed as well. Queste modifiche sono descritte in dettaglio nell'elenco delle modifiche di rilievo.These changes are detailed in the breaking changes list.

Aggiornare cmdlet, moduli e parametriUpdate cmdlets, modules, and parameters

Se si usano script aggiornati e in esecuzione con alias, è possibile dedicare del tempo ad aggiornarli in modo da usare i nuovi cmdlet e sfruttare altre modifiche, come le nuove funzionalità.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. Per la maggior parte degli script è sufficiente aggiornare solo i nomi dei cmdlet, seguendo lo schema di denominazione dei nuovi cmdlet in Az.For most scripts, you will only need to update cmdlet names, following the new cmdlet naming scheme in Az. Per garantire il funzionamento degli script, potrebbe essere necessario apportare altre modifiche a seconda del motivo per cui vengono usati e delle funzionalità di Azure PowerShell che sfruttano.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.

I cmdlet di archiviazione BLOB, ad esempio, sono stati completamente rielaborati e ora usano un nuovo modello asincrono, di conseguenza l'aggiornamento degli script in cui vengono usati richiederà più tempo rispetto all'aggiornamento degli script in cui le uniche modifiche di rilievo riguardavano i nomi dei 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.

Anche se fino a questo punto sono state apportate solo modifiche semplici e di lieve entità agli script o se gli script funzionano senza ulteriori modifiche in seguito all'abilitazione degli alias, vedere l'elenco completo delle modifiche di rilievo in Az 1.0.0 per assicurarsi di non fare affidamento sul comportamento trasparente degli alias che potrebbero scomparire dopo aver modificato i nomi dei cmdlet e aver disabilitato gli 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.

Disabilitare gli aliasDisable aliases

È consigliabile disabilitare gli alias dopo aver completato la migrazione, quando non è più necessario fare affidamento sul comportamento degli alias.Once you've completed your migration and are no longer relying on aliasing behavior, it's recommended that you disable aliases. Per eseguire questa operazione, usare il cmdlet Disable-AzureRmAlias.This is done with the Disable-AzureRmAlias cmdlet.

Importante

Quando si esegue questo cmdlet, assicurarsi di chiamarlo per ogni argomento -Scope per cui è stato chiamato Enable-AzureRmAlias; in caso contrario, nel sistema potrebbero essere ancora presenti script che fanno affidamento sul comportamento degli 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.