Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo documento fornisce informazioni dettagliate sulle modifiche tra AzureRM 6.x e il nuovo modulo Az, versione 1.x e successive. Il sommario consentirà di eseguire un percorso di migrazione completo, incluse le modifiche specifiche del modulo che possono influire sugli script.
Per consigli generali su come iniziare a eseguire una migrazione da AzureRM ad Az, vedere Avviare la migrazione da AzureRM ad Az.
Importante
Sono state apportate modifiche di rilievo anche tra Az 1.0.0 e Az 2.0.0. Dopo aver seguito questa guida per l'aggiornamento da AzureRM ad Az, vedere le modifiche di rilievo di Az 2.0.0 per scoprire se è necessario apportare altre modifiche.
Sommario
- Modifiche di rilievo generali
- Modifiche al prefisso dei nomi dei cmdlet
- Modifiche al nome del modulo
- Moduli rimossi
- Windows PowerShell 5.1 e .NET 4.7.2
- Rimozione temporanea del login utente tramite PSCredential
- Accesso predefinito al codice del dispositivo anziché al prompt del Web browser
- Modifiche che causano un'interruzione del modulo
- Az.ApiManagement (in precedenza AzureRM.ApiManagement)
- Az.Billing (in precedenza AzureRM.Billing, AzureRM.Consumption e AzureRM.UsageAggregates)
- Az.CognitiveServices (in precedenza AzureRM.CognitiveServices)
- Az.Compute (in precedenza AzureRM.Compute)
- Az.DataFactory (in precedenza AzureRM.DataFactories e AzureRM.DataFactoryV2)
- Az.DataLakeAnalytics (in precedenza AzureRM.DataLakeAnalytics)
- Az.DataLakeStore (in precedenza AzureRM.DataLakeStore)
- Az.KeyVault (in precedenza AzureRM.KeyVault)
- Az.Media (in precedenza AzureRM.Media)
- Az.Monitor (in precedenza AzureRM.Insights)
- Az.Network (in precedenza AzureRM.Network)
- Az.OperationalInsights (in precedenza AzureRM.OperationalInsights)
- Az.RecoveryServices (in precedenza AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup e AzureRM.RecoveryServices.SiteRecovery)
- Az.Resources (in precedenza AzureRM.Resources)
- Az.ServiceFabric (in precedenza AzureRM.ServiceFabric)
- Az.Sql (in precedenza AzureRM.Sql)
- Az.Storage (in precedenza Azure.Storage e AzureRM.Storage)
- Az.Websites (in precedenza AzureRM.Websites)
Modifiche di rilievo generali
Questa sezione descrive in dettaglio le modifiche generali importanti che fanno parte della riprogettazione del modulo Az.
Modifiche ai prefissi dei nomi dei Cmdlet
Nel modulo AzureRM, i cmdlet vengono utilizzati AzureRM o Azure come prefissi sostantivi. Az semplifica e normalizza i nomi dei cmdlet, in modo che tutti i cmdlet usino 'Az' come prefisso sostantivo del cmdlet. Per esempio:
Get-AzureRMVM
Get-AzureKeyVaultSecret
È stato modificato in:
Get-AzVM
Get-AzKeyVaultSecret
Per semplificare la transizione a questi nuovi nomi di cmdlet, Az introduce due nuovi cmdlet, Enable-AzureRmAlias e Disable-AzureRmAlias. crea alias per i nomi dei cmdlet precedenti in AzureRM che corrispondono ai nomi dei più recenti cmdlet Az. L'uso dell'argomento con consente di scegliere dove sono abilitati gli alias.
Ad esempio, lo script seguente in AzureRM:
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Può essere eseguito con modifiche minime usando :
#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
L'esecuzione abiliterà gli alias per tutte le sessioni di PowerShell aperte, in modo che dopo l'esecuzione di questo cmdlet uno script simile al seguente non debba essere modificato:
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Per informazioni dettagliate sull'utilizzo dei cmdlet alias, vedere il riferimentoEnable-AzureRmAlias.
Quando si è pronti per disabilitare gli alias, rimuove gli alias creati. Per informazioni complete, vedere il riferimento a Disable-AzureRmAlias.
Importante
Quando si disabilitano gli alias, assicurarsi che siano disabilitati per tutti gli ambiti con alias abilitati.
Modifiche al nome del modulo
I nomi dei moduli sono stati modificati da a , ad eccezione dei moduli seguenti:
| Modulo AzureRM | Modulo Az |
|---|---|
| Azure.Storage | Az.Storage |
| Azure.AnalysisServices | Az.AnalysisServices |
| AzureRM.Profile | Az.Accounts |
| AzureRM.Insights | Az.Monitor |
| AzureRM.DataFactories | Az.DataFactory |
| AzureRM.DataFactoryV2 | Az.DataFactory |
| AzureRM.RecoveryServices.Backup | Az.RecoveryServices |
| AzureRM.RecoveryServices.SiteRecovery | Az.RecoveryServices |
| AzureRM.Tags | Az.Resources |
| AzureRM.MachineLearningCompute | Az.MachineLearning |
| AzureRM.UsageAggregates | Az.Billing |
| AzureRM.Consumption | Az.Billing |
Le modifiche nei nomi dei moduli indicano che qualsiasi script che usa o per caricare moduli specifici dovrà essere modificato per usare il nuovo modulo. Per i moduli in cui il suffisso del cmdlet non è stato modificato, significa che, anche se il nome del modulo è stato modificato, il suffisso che indica che lo spazio dell'operazione non è stato modificato.
Migrazione di istruzioni #Requires e Import-Module
Gli script che usano o per dichiarare una dipendenza dai moduli AzureRM devono essere aggiornati per usare i nuovi nomi di modulo. Per esempio:
#Requires -Module AzureRM.Compute
Devono essere modificati in:
#Requires -Module Az.Compute
Per :
Import-Module -Name AzureRM.Compute
Devono essere modificati in:
Import-Module -Name Az.Compute
Migrazione delle invocazioni dei cmdlet completamente qualificati
Script che usano chiamate di cmdlet qualificate dal modulo, ad esempio:
AzureRM.Compute\Get-AzureRmVM
È necessario modificare per usare il nuovo modulo e i nomi dei cmdlet:
Az.Compute\Get-AzVM
Migrazione del manifesto del modulo delle dipendenze
I moduli che esprimono le dipendenze dai moduli AzureRM tramite un file manifesto del modulo (con estensione psd1) dovranno aggiornare i nomi dei moduli nella relativa sezione:
RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})
Deve essere modificato in:
RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})
Moduli rimossi
Sono stati rimossi i moduli seguenti:
AzureRM.BackupAzureRM.Compute.ManagedServiceAzureRM.Scheduler
Gli strumenti per questi servizi non sono più supportati attivamente. I clienti sono invitati a passare a servizi alternativi non appena è conveniente.
Windows PowerShell 5.1 e .NET 4.7.2
L'uso di Az con PowerShell 5.1 per Windows richiede l'installazione di .NET Framework 4.7.2. L'uso di PowerShell Core 6.x o versione successiva non richiede .NET Framework.
Rimozione temporanea dell'accesso utente utilizzando PSCredential
A causa delle modifiche apportate al flusso di autenticazione per .NET Standard, l'accesso utente viene temporaneamente rimosso tramite PSCredential. Questa funzionalità verrà introdotta nuovamente nella versione 15/15/2019 per PowerShell 5.1 per Windows. Questo argomento è illustrato in dettaglio in questo problema GitHub.
Accesso predefinito al codice del dispositivo anziché al prompt del Web browser
A causa delle modifiche apportate al flusso di autenticazione per .NET Standard, viene usato l'accesso dispositivo come flusso di accesso predefinito nel processo di accesso interattivo. L'accesso basato su Web browser verrà reintrodotto per PowerShell 5.1 per Windows come impostazione predefinita nella versione del 15/01/2019. In quel momento, gli utenti potranno scegliere l'accesso del dispositivo usando un parametro Switch.
Modifiche che causano un'interruzione del modulo
In questa sezione vengono fornite informazioni dettagliate sulle modifiche di rilievo specifiche per singoli moduli e cmdlet.
Az.ApiManagement (in precedenza AzureRM.ApiManagement)
- Sono stati rimossi i cmdlet seguenti:
- New-AzureRmApiManagementHostnameConfiguration
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment
- Import-AzureRmApiManagementHostnameCertificate
- Usare invece il cmdlet Set-AzApiManagement per impostare queste proprietà
- Rimosse le proprietà seguenti:
- Rimozione della proprietà , e di tipo da . Invece, utilizza , , e di tipo .
- Proprietà rimossa da PsApiManagementContext. La proprietà è stata suddivisa in e .
- Rimozione della proprietà obbligatoria dal cmdlet New-AzureApiManagementVirtualNetwork.
Az.Billing (in precedenza AzureRM.Billing, AzureRM.Consumption e AzureRM.UsageAggregates)
- Il parametro è stato rimosso dal cmdlet . Gli script dovranno usare altri parametri identity per la fattura.
Az.CognitiveServices (in precedenza AzureRM.CognitiveServices)
- Rimozione del set di parametri dal cmdlet. È necessario ottenere gli SKU in base al tipo di account e alla posizione, anziché usare ResourceGroupName e Account Name.
Az.Compute (in precedenza AzureRM.Compute)
- vengono rimossi dalla proprietà in e negli oggetti. Gli script non devono più utilizzare il valore di questo campo per prendere decisioni nei processi di elaborazione.
- Il tipo di proprietà dell'oggetto viene modificato da a
- E le proprietà vengono rimosse dalla proprietà.
- Il tipo di proprietà nell'oggetto viene modificato da a
- viene rimosso dal cmdlet, non è più possibile aggiungere un disco dati singolarmente a una macchina virtuale ScaleSet.
Az.DataFactory (in precedenza AzureRM.DataFactories e AzureRM.DataFactoryV2)
- Il parametro è diventato obbligatorio nel cmdlet
- Il cmdlet rimosso
- Il parametro rimosso dai cmdlet Scripts non deve più usare il valore di questo campo per prendere decisioni di elaborazione.
Az.DataLakeAnalytics (in precedenza AzureRM.DataLakeAnalytics)
- Rimozione dei cmdlet deprecati: , e
Az.DataLakeStore (in precedenza AzureRM.DataLakeStore)
I cmdlet seguenti hanno modificato il parametro dal tipo a . Questa modifica rimuove i valori di codifica e . Tutti gli altri valori di codifica precedenti rimangono.
- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent (Aggiunge contenuto a un elemento di Azure Data Lake Store)
- Get-AzureRmDataLakeStoreItemContent
Rimozione dell'alias di proprietà deprecato dai cmdlet e
Gli script che utilizzano
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}Deve essere modificato in
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}Rimosse le proprietà deprecate , , , , , , , , , , , , dall'oggetto . Qualsiasi script che utilizza l'oggetto restituito da non deve fare riferimento a queste proprietà.
Az.KeyVault (in precedenza AzureRM.KeyVault)
- La proprietà è stata rimossa dagli oggetti , , e . Gli script non devono più fare riferimento alla proprietà per prendere decisioni di elaborazione.
Az.Media (in precedenza AzureRM.Media)
Rimuovere l'alias della proprietà deprecato dagli script del cmdlet usando
New-AzureRMMediaService -Tags @{TagName="TagValue"}Deve essere modificato in
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (in precedenza AzureRM.Insights)
Sono stati rimossi i nomi plurali e il parametro a favore di nomi di parametri singolari dagli script del cmdlet utilizzando
Set-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2Deve essere modificato in
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (in precedenza AzureRM.Network)
- Rimozione del parametro deprecato dal cmdlet
- Rimozione della proprietà deprecata dall'oggetto
- Cmdlet deprecato rimosso
Gli script non devono più prendere decisioni di elaborazione in base ai valori di questi campi.
Az.OperationalInsights (in precedenza AzureRM.OperationalInsights)
Il set di parametri predefinito per viene rimosso e diventa il set di parametri predefinito
Script che elencano le origini dati usando
Get-AzureRmOperationalInsightsDataSourceDeve essere modificato per specificare un tipo
Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
Az.RecoveryServices (in precedenza AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup e AzureRM.RecoveryServices.SiteRecovery)
- Parametro rimosso dal cmdlet
- il parametro è ora obbligatorio per i ripristini del disco gestito nel cmdlet
- Rimozione di parametri e nel cmdlet
- Parametro rimosso nel cmdlet
Az.Resources (in precedenza AzureRM.Resources)
Parametro rimosso dal cmdlet
Il parametro rimosso da e i cmdlet Password vengono generati automaticamente, gli script che hanno fornito la password:
New-AzAdSpCredential -ObjectId aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb -Password $secPasswordDeve essere modificato per recuperare la password dall'output:
$credential = New-AzAdSpCredential -ObjectId aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb $secPassword = $credential.Secret
Az.ServiceFabric (in precedenza AzureRM.ServiceFabric)
- Sono stati modificati i tipi restituiti di cmdlet seguenti:
- La proprietà di tipo è stata rimossa.
- La proprietà di tipo è stata rimossa.
- La proprietà di tipo è stata rimossa.
- Queste modifiche influiscono sui cmdlet seguenti:
- Add-AzServiceFabricClientCertificate
- Add-AzServiceFabricClusterCertificate
- Add-AzServiceFabricNode
- Add-AzServiceFabricNodeType
- Get-AzServiceFabricCluster
- Remove-AzServiceFabricClientCertificate
- Remove-AzServiceFabricClusterCertificate
- Remove-AzServiceFabricNode
- Remove-AzServiceFabricNodeType
- Remove-AzServiceFabricSetting
- Set-AzServiceFabricSetting
- Set-AzServiceFabricUpgradeType
- Update-AzServiceFabricDurability
- Update-AzServiceFabricReliability
Az.Sql (in precedenza AzureRM.Sql)
- Rimozione di parametri e dal cmdlet
- Rimozione dei cmdlet deprecati: , , , , ,
- Rimozione del parametro deprecato dal cmdlet
- Rimozione del parametro deprecato dal cmdlet
- Rimozione del parametro deprecato dal cmdlet
Az.Storage (in precedenza Azure.Storage e AzureRM.Storage)
- Per supportare la creazione di un contesto di archiviazione Oauth con solo il nome dell'account di archiviazione, il set di parametri predefinito è stato modificato in
- Esempio:
- Il parametro è diventato obbligatorio nel cmdlet
- I metodi dell'API di archiviazione ora usano il modello asincrono basato su attività anziché le chiamate API sincrone. Gli esempi seguenti illustrano i nuovi comandi asincroni:
Istantanea di Blob
AzureRM:
$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$b.ICloudBlob.Snapshot()
Az:
$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$task = $b.ICloudBlob.SnapshotAsync()
$task.Wait()
$snapshot = $task.Result
Condividi istantanea
AzureRM:
$Share = Get-AzureStorageShare -Name $containerName -Context $ctx
$snapshot = $Share.Snapshot()
Az:
$Share = Get-AzStorageShare -Name $containerName -Context $ctx
$task = $Share.SnapshotAsync()
$task.Wait()
$snapshot = $task.Result
Ripristinare un blob eliminato in modo reversibile
AzureRM:
$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -IncludeDeleted -Context $ctx
$b.ICloudBlob.Undelete()
Az:
$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -IncludeDeleted -Context $ctx
$task = $b.ICloudBlob.UndeleteAsync()
$task.Wait()
Impostare il livello Blob
AzureRM:
$blockBlob = Get-AzureStorageBlob -Container $containerName -Blob $blockBlobName -Context $ctx
$blockBlob.ICloudBlob.SetStandardBlobTier("hot")
$pageBlob = Get-AzureStorageBlob -Container $containerName -Blob $pageBlobName -Context $ctx
$pageBlob.ICloudBlob.SetPremiumBlobTier("P4")
Az:
$blockBlob = Get-AzStorageBlob -Container $containerName -Blob $blockBlobName -Context $ctx
$task = $blockBlob.ICloudBlob.SetStandardBlobTierAsync("hot")
$task.Wait()
$pageBlob = Get-AzStorageBlob -Container $containerName -Blob $pageBlobName -Context $ctx
$task = $pageBlob.ICloudBlob.SetPremiumBlobTierAsync("P4")
$task.Wait()
Az.Websites (in precedenza AzureRM.Websites)
- Rimozione delle proprietà deprecate dagli oggetti , , e