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
- Cambiamenti fondamentali generali
-
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 utilizzano AzureRM o Azure come prefisso del sostantivo. 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.
Enable-AzureRmAlias crea alias per i nomi dei cmdlet precedenti in AzureRM che corrispondono ai nomi più recenti dei cmdlet Az. L'uso dell'argomento -Scope con Enable-AzureRmAlias 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 Enable-AzureRmAlias:
#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
L'esecuzione Enable-AzureRmAlias -Scope CurrentUser 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 Riferimento Enable-AzureRmAlias.
Quando si è pronti per disabilitare gli alias, Disable-AzureRmAlias rimuove gli alias creati. Per informazioni dettagliate, vedere il riferimento 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 AzureRM.* a Az.*, 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 #Requires o Import-Module per caricare moduli specifici dovrà essere modificato per usare il nuovo modulo. Per i moduli in cui il suffisso del cmdlet è rimasto invariato, ciò significa che, nonostante il cambiamento del nome del modulo, il suffisso relativo allo spazio operativo non è cambiato.
Migrazione di istruzioni #Requires e Import-Module
Gli script che usano #Requires o Import-Module 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:
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 RequiredModules 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 al flusso di autenticazione per .NET Standard, viene usato l'accesso tramite dispositivo come flusso di login predefinito durante l'accesso interattivo. Il login basato su browser Web verrà reintrodotto per PowerShell 5.1 per Windows come impostazione predefinita nella release 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à
PortalHostnameConfiguration,ProxyHostnameConfigurationManagementHostnameConfigurationeScmHostnameConfigurationdi tipoPsApiManagementHostnameConfigurationdaPsApiManagementContext. Usare invecePortalCustomHostnameConfiguration,ProxyCustomHostnameConfigurationManagementCustomHostnameConfigurationeScmCustomHostnameConfigurationdi tipoPsApiManagementCustomHostNameConfiguration. - Rimozione della proprietà
StaticIPsda PsApiManagementContext. La proprietà è stata suddivisa inPublicIPAddressesePrivateIPAddresses. - Rimozione della proprietà
Locationobbligatoria dal cmdlet New-AzureApiManagementVirtualNetwork.
- Rimozione della proprietà
Az.Billing (in precedenza AzureRM.Billing, AzureRM.Consumption e AzureRM.UsageAggregates)
- Il
InvoiceNameparametro è stato rimosso dalGet-AzConsumptionUsageDetailcmdlet . Gli script dovranno usare altri parametri identity per la fattura.
Az.CognitiveServices (in precedenza AzureRM.CognitiveServices)
- È stato rimosso il set di parametri
GetSkusWithAccountParamSetNamedal cmdletGet-AzCognitiveServicesAccountSkus. È 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)
-
IdentityIdsvengono rimossi dallaIdentityproprietà inPSVirtualMachineePSVirtualMachineScaleSetgli oggetti Script non devono più utilizzare il valore di questo campo per prendere decisioni di elaborazione. - Il tipo di
InstanceViewproprietà dell'oggettoPSVirtualMachineScaleSetVMviene modificato daVirtualMachineInstanceViewaVirtualMachineScaleSetVMInstanceView -
AutoOSUpgradePolicyeAutomaticOSUpgradeproprietà vengono rimosse dalla proprietàUpgradePolicy - Il tipo di
Skuproprietà nell'oggettoPSSnapshotUpdateviene modificato daDiskSkuaSnapshotSku -
VmScaleSetVMParameterSetviene rimosso dalAdd-AzVMDataDiskcmdlet, non è più possibile aggiungere un disco dati singolarmente a una macchina virtuale ScaleSet.
Az.DataFactory (in precedenza AzureRM.DataFactories e AzureRM.DataFactoryV2)
- Il
GatewayNameparametro è diventato obbligatorio nelNew-AzDataFactoryEncryptValuecmdlet - Cmdlet
New-AzDataFactoryGatewayKeyrimosso - Il parametro
LinkedServiceNameè stato rimosso dal cmdletGet-AzDataFactoryV2ActivityRun. Gli script non dovrebbero più utilizzare il valore di questo campo per prendere decisioni di elaborazione.
Az.DataLakeAnalytics (in precedenza AzureRM.DataLakeAnalytics)
- Rimozione dei cmdlet deprecati:
New-AzDataLakeAnalyticsCatalogSecret,Remove-AzDataLakeAnalyticsCatalogSecreteSet-AzDataLakeAnalyticsCatalogSecret
Az.DataLakeStore (in precedenza AzureRM.DataLakeStore)
I cmdlet seguenti hanno modificato il
Encodingparametro dal tipoFileSystemCmdletProviderEncodingaSystem.Text.Encoding. Questa modifica rimuove i valoriStringdi codifica eOem. 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
TagsdaiNew-AzDataLakeStoreAccountcmdlet eSet-AzDataLakeStoreAccountGli script che utilizzano
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}Deve essere modificato in
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}Rimosse le proprietà deprecate
Identity,EncryptionState,EncryptionProvisioningState,EncryptionConfig,FirewallState,FirewallRules,VirtualNetworkRules,TrustedIdProviderState,TrustedIdProviders,DefaultGroup,NewTier,CurrentTierdall'oggettoFirewallAllowAzureIpsPSDataLakeStoreAccountBasic. Qualsiasi script che utilizza l'oggettoPSDatalakeStoreAccountrestituito daGet-AzDataLakeStoreAccountnon deve fare riferimento a queste proprietà.
Az.KeyVault (in precedenza AzureRM.KeyVault)
- La proprietà
PurgeDisabledè stata rimossa dagli oggettiPSKeyVaultKeyAttributes,PSKeyVaultKeyIdentityItemePSKeyVaultSecretAttributes. Gli script non devono più fare riferimento alla proprietàPurgeDisabledper prendere decisioni di elaborazione.
Az.Media (in precedenza AzureRM.Media)
Rimuovere l'alias della proprietà deprecato
Tagsdagli script del cmdletNew-AzMediaServiceusandoNew-AzureRMMediaService -Tags @{TagName="TagValue"}Deve essere modificato in
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (in precedenza AzureRM.Insights)
Rimossi i nomi di parametri plurali
CategorieseTimegrainsa favore dei nomi di parametri singolari dagli script del cmdletSet-AzDiagnosticSetting.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
ResourceIddalGet-AzServiceEndpointPolicyDefinitioncmdlet - Rimozione della proprietà deprecata
EnableVmProtectiondall'oggettoPSVirtualNetwork - Cmdlet deprecato rimosso
Set-AzVirtualNetworkGatewayVpnClientConfig
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
Get-AzOperationalInsightsDataSourceviene rimosso eByWorkspaceNameByKinddiventa il set di parametri predefinitoScript 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)
- Rimosso il parametro
Encryptiondal cmdletNew/Set-AzRecoveryServicesAsrPolicy -
TargetStorageAccountNameil parametro è ora obbligatorio per i ripristini del disco gestito nelRestore-AzRecoveryServicesBackupItemcmdlet - Rimossi i parametri
StorageAccountNameeStorageAccountResourceGroupNamedel cmdletRestore-AzRecoveryServicesBackupItem - Parametro rimosso
NamenelGet-AzRecoveryServicesBackupContainercmdlet
Az.Resources (in precedenza AzureRM.Resources)
Rimosso il parametro
Skudal cmdletNew/Set-AzPolicyAssignmentIl parametro
Passwordè stato rimosso dai cmdletNew-AzADServicePrincipaleNew-AzADSpCredential. Le password vengono generate automaticamente, mentre gli script fornivano 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à
ServiceTypeHealthPoliciesdi tipoApplicationHealthPolicyè stata rimossa. - La proprietà
ApplicationHealthPoliciesdi tipoClusterUpgradeDeltaHealthPolicyè stata rimossa. - La proprietà
OverrideUserUpgradePolicydi tipoClusterUpgradePolicyè 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
- La proprietà
Az.Sql (in precedenza AzureRM.Sql)
- Rimossi i parametri
StateeResourceIddal cmdletSet-AzSqlDatabaseBackupLongTermRetentionPolicy - Rimozione dei cmdlet deprecati:
Get/Set-AzSqlServerBackupLongTermRetentionVault,Get/Start/Stop-AzSqlServerUpgrade,Get/Set-AzSqlDatabaseAuditingPolicy,Get/Set-AzSqlServerAuditingPolicy,Remove-AzSqlDatabaseAuditing,Remove-AzSqlServerAuditing - Rimozione del parametro
Currentdeprecato dalGet-AzSqlDatabaseBackupLongTermRetentionPolicycmdlet - Rimozione del parametro
DatabaseNamedeprecato dalGet-AzSqlServerServiceObjectivecmdlet - Rimozione del parametro
PrivilegedLogindeprecato dalSet-AzSqlDatabaseDataMaskingPolicycmdlet
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
OAuthParameterSet- Esempio:
$ctx = New-AzureStorageContext -StorageAccountName $accountName
- Esempio:
- Il
Locationparametro è diventato obbligatorio nelGet-AzStorageUsagecmdlet - 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
PSAppServicePlanoggetti ,PSCertificate,PSCloningInfoePSSite