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 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 di rilievo generali che fanno parte della riprogettazione del modulo Az.
Modifiche al prefisso dei nomi dei cmdlet
Nel modulo AzureRM i cmdlet usati AzureRM o Azure come prefisso 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 eseguono il mapping ai nomi dei cmdlet Az più recenti. 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 riferimentoEnable-AzureRmAlias.
Quando si è pronti per disabilitare gli alias, Disable-AzureRmAlias rimuove gli alias creati. Per informazioni dettagliate, vedere le informazioni di riferimentoDisable-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 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 #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
Deve essere modificato in:
#Requires -Module Az.Compute
Per Import-Module:
Import-Module -Name AzureRM.Compute
Deve essere modificato in:
Import-Module -Name Az.Compute
Migrazione delle chiamate ai cmdlet di Fully-Qualified
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 delle dipendenze del manifesto del modulo
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'account di accesso utente tramite 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 1/15/2019 per PowerShell 5.1 per Windows. Questo argomento viene descritto in dettaglio in questo problema di 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'account di accesso del dispositivo come flusso di accesso predefinito durante l'accesso interattivo. L'accesso basato sul Web browser verrà introdotto nuovamente per PowerShell 5.1 per Windows come impostazione predefinita nella versione 1/15/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)
- Rimozione del set di
GetSkusWithAccountParamSetNameparametri dalGet-AzCognitiveServicesAccountSkuscmdlet. È necessario ottenere sku in base al tipo di account e alla posizione, anziché usare ResourceGroupName e Nome account.
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 -
AutoOSUpgradePolicyle proprietà eAutomaticOSUpgradevengono rimosse dallaUpgradePolicyproprietà - 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 rimosso
New-AzDataFactoryGatewayKey - Il parametro rimosso
LinkedServiceNamedaiGet-AzDataFactoryV2ActivityRuncmdlet 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:
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
- Get-AzureRmDataLakeStoreItemContent
Rimozione dell'alias di proprietà deprecato
TagsdaiNew-AzDataLakeStoreAccountcmdlet eSet-AzDataLakeStoreAccountScript che usano
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}Deve essere modificato in
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}Rimosse le proprietà
Identitydeprecate , ,EncryptionStateEncryptionProvisioningState,EncryptionConfig, ,FirewallStateFirewallRulesVirtualNetworkRulesTrustedIdProviderStateTrustedIdProvidersDefaultGroupNewTier,CurrentTierdall'oggetto .FirewallAllowAzureIpsPSDataLakeStoreAccountBasicQualsiasi script che utilizza l'oggettoPSDatalakeStoreAccountrestituito daGet-AzDataLakeStoreAccountnon deve fare riferimento a queste proprietà.
Az.KeyVault (in precedenza AzureRM.KeyVault)
- La
PurgeDisabledproprietà è stata rimossa dagliPSKeyVaultKeyAttributesscript degli oggetti ,PSKeyVaultKeyIdentityItemePSKeyVaultSecretAttributesnon deve più fare riferimento allaPurgeDisabledproprietà per prendere decisioni di elaborazione.
Az.Media (in precedenza AzureRM.Media)
Rimuovere l'alias della proprietà deprecato
TagsdagliNew-AzMediaServicescript del cmdlet usandoNew-AzureRMMediaService -Tags @{TagName="TagValue"}Deve essere modificato in
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (in precedenza AzureRM.Insights)
Rimozione dei nomi
Categoriesplurali eTimegrainsdel parametro a favore dei nomi di parametri singolari dagliSet-AzDiagnosticSettingscript del cmdlet tramiteSet-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)
- Parametro rimosso
EncryptiondalNew/Set-AzRecoveryServicesAsrPolicycmdlet -
TargetStorageAccountNameil parametro è ora obbligatorio per i ripristini del disco gestito nelRestore-AzRecoveryServicesBackupItemcmdlet - Rimozione di
StorageAccountNameparametri eStorageAccountResourceGroupNamenelRestore-AzRecoveryServicesBackupItemcmdlet - Parametro rimosso
NamenelGet-AzRecoveryServicesBackupContainercmdlet
Az.Resources (in precedenza AzureRM.Resources)
Parametro rimosso
SkudalNew/Set-AzPolicyAssignmentcmdletIl parametro rimosso
PassworddaNew-AzADServicePrincipaleNew-AzADSpCredentiali cmdlet Password vengono generati automaticamente, gli script che hanno fornito la password:New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 -Password $secPasswordDeve essere modificato per recuperare la password dall'output:
$credential = New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 $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)
- Rimozione di
Stateparametri eResourceIddalSet-AzSqlDatabaseBackupLongTermRetentionPolicycmdlet - 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:
Blob Snapshot
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
Snapshot di condivisione
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
Annullare l'eliminazione del BLOB eliminato leggero
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