Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este documento fornece informações detalhadas sobre as alterações entre o AzureRM 6.x e o novo módulo Az, versão 1.x e posterior. O sumário ajudará você a percorrer um caminho de migração completo, incluindo alterações específicas do módulo que podem afetar seus scripts.
Para obter conselhos gerais sobre como começar a migrar do AzureRM para o Az, consulte Iniciar a migração do AzureRM para o Az.
Importante
Houve alterações significativas entre o Az 1.0.0 e o Az 2.0.0 também. Depois de seguir este guia para atualizar do AzureRM para o Az, consulte as alterações interruptivas do Az 2.0.0 para descobrir se você precisa fazer alterações adicionais.
Índice
- Alterações gerais significativas
-
Alterações de quebra de compatibilidade do módulo
- Az.ApiManagement (anteriormente AzureRM.ApiManagement)
- Az.Billing (anteriormente AzureRM.Billing, AzureRM.Consumption e AzureRM.UsageAggregates)
- Az.CognitiveServices (anteriormente AzureRM.CognitiveServices)
- Az.Compute (anteriormente AzureRM.Compute)
- Az.DataFactory (anteriormente AzureRM.DataFactories e AzureRM.DataFactoryV2)
- Az.DataLakeAnalytics (anteriormente AzureRM.DataLakeAnalytics)
- Az.DataLakeStore (anteriormente AzureRM.DataLakeStore)
- Az.KeyVault (anteriormente AzureRM.KeyVault)
- Az.Media (anteriormente AzureRM.Media)
- Az.Monitor (anteriormente AzureRM.Insights)
- Az.Network (anteriormente AzureRM.Network)
- Az.OperationalInsights (anteriormente AzureRM.OperationalInsights)
- Az.RecoveryServices (anteriormente AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup e AzureRM.RecoveryServices.SiteRecovery)
- Az.Resources (anteriormente AzureRM.Resources)
- Az.ServiceFabric (anteriormente AzureRM.ServiceFabric)
- Az.Sql (anteriormente AzureRM.Sql)
- Az.Storage (anteriormente Azure.Storage e AzureRM.Storage)
- Az.Websites (anteriormente AzureRM.Websites)
Alterações disruptivas gerais
Esta seção detalha as alterações críticas gerais incluídas na reformulação do módulo Az.
Alterações de prefixo de substantivo do cmdlet
No módulo AzureRM, os cmdlets usavam AzureRM ou Azure como um prefixo substantivo. O Az simplifica e normaliza os nomes de cmdlet, de modo que todos os cmdlets usem 'Az' como prefixo de substantivo do cmdlet. Por exemplo:
Get-AzureRMVM
Get-AzureKeyVaultSecret
Foi alterado para:
Get-AzVM
Get-AzKeyVaultSecret
Para tornar a transição para esses novos nomes de cmdlet mais simples, o Az apresenta dois novos cmdlets, Enable-AzureRmAlias e Disable-AzureRmAlias.
Enable-AzureRmAlias cria aliases para os nomes de cmdlet mais antigos no AzureRM que são mapeados para os nomes mais recentes de cmdlet no Az. Usar o -Scope argumento com Enable-AzureRmAlias permite que você escolha onde os aliases estão habilitados.
Por exemplo, o seguinte script no AzureRM:
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Pode ser executado com alterações mínimas usando Enable-AzureRmAlias:
#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
A Enable-AzureRmAlias -Scope CurrentUser execução habilitará os aliases para todas as sessões do PowerShell que você abrir, de modo que, depois de executar esse cmdlet, um script como esse não precise ser alterado:
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Para obter detalhes completos sobre o uso dos cmdlets de alias, consulte a referência Enable-AzureRmAlias.
Quando você estiver pronto para desabilitar aliases, Disable-AzureRmAlias removerá os aliases criados. Para obter detalhes completos, consulte a referência de Disable-AzureRmAlias.
Importante
Ao desabilitar aliases, verifique se eles estão desabilitados para todos os escopos que tinham aliases habilitados.
Alterações de nome do módulo
Os nomes do módulo foram alterados de AzureRM.* para Az.*, exceto para os seguintes módulos:
| Módulo do AzureRM | Módulo 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 |
As alterações nos nomes de módulo significam que qualquer script que use #Requires ou Import-Module carregue módulos específicos precisará ser alterado para usar o novo módulo. Para módulos em que o sufixo do cmdlet não foi alterado, isso significa que, embora o nome do módulo tenha sido alterado, o sufixo que indica o espaço de operação não foi alterado.
Migrando instruções #Requires e Import-Module
Scripts que usam #Requires ou Import-Module para declarar uma dependência em módulos do AzureRM devem ser atualizados para usar os novos nomes de módulo. Por exemplo:
#Requires -Module AzureRM.Compute
Deve ser alterado para:
#Requires -Module Az.Compute
Para Import-Module:
Import-Module -Name AzureRM.Compute
Deve ser alterado para:
Import-Module -Name Az.Compute
Migrando invocações de cmdlet totalmente qualificadas
Scripts que usam invocações de cmdlet qualificadas por módulo, como:
AzureRM.Compute\Get-AzureRmVM
Deve ser alterado para usar os novos nomes de módulo e cmdlet:
Az.Compute\Get-AzVM
Migrando dependências de manifesto do módulo
Os módulos que expressam dependências em módulos do AzureRM por meio de um arquivo de manifesto de módulo (.psd1) precisarão atualizar os nomes do módulo em sua RequiredModules seção:
RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})
Deve ser alterado para:
RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})
Módulos removidos
Os seguintes módulos foram removidos:
AzureRM.BackupAzureRM.Compute.ManagedServiceAzureRM.Scheduler
As ferramentas para esses serviços não são mais ativamente suportadas. Os clientes são incentivados a migrar para serviços alternativos assim que for conveniente.
Windows PowerShell 5.1 e .NET 4.7.2
Usar o Az com o PowerShell 5.1 para Windows requer a instalação do .NET Framework 4.7.2. Usar o PowerShell Core 6.x ou posterior não requer .NET Framework.
Remoção temporária do logon do usuário usando PSCredential
Devido a alterações no fluxo de autenticação do .NET Standard, estamos removendo temporariamente o logon do usuário por meio do PSCredential. Essa funcionalidade será reintroduzida na versão 15/1/2019 do PowerShell 5.1 para Windows. Isso é discutido em detalhes em this GitHub issue.
Login padrão com código de dispositivo em vez do prompt no navegador
Devido a alterações no fluxo de autenticação do .NET Standard, estamos usando o logon do dispositivo como o fluxo de logon padrão durante o logon interativo. O logon baseado no navegador da Web será introduzido novamente para o PowerShell 5.1 para Windows como o padrão na versão 15/1/2019. Nesse momento, os usuários poderão escolher o logon do dispositivo usando um parâmetro Switch.
Alterações de falha de módulo
Esta seção detalha alterações significativas específicas para módulos e cmdlets individuais.
Az.ApiManagement (anteriormente AzureRM.ApiManagement)
- Foram removidos os seguintes cmdlets:
- New-AzureRmApiManagementHostnameConfiguration
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment
- Import-AzureRmApiManagementHostnameCertificate
- Use o cmdlet Set-AzApiManagement para definir essas propriedades em vez disso
- Foram removidas as seguintes propriedades:
- Propriedade
PortalHostnameConfiguration,ProxyHostnameConfiguration,ManagementHostnameConfigurationeScmHostnameConfigurationdo tipoPsApiManagementHostnameConfigurationremovida dePsApiManagementContext. Em vez disso, usePortalCustomHostnameConfiguration,ProxyCustomHostnameConfigurationManagementCustomHostnameConfigurationeScmCustomHostnameConfigurationdo tipoPsApiManagementCustomHostNameConfiguration. - Propriedade
StaticIPsremovida de PsApiManagementContext. A propriedade foi dividida emPublicIPAddressesePrivateIPAddresses. - Propriedade obrigatória
Locationremovida do cmdlet New-AzureApiManagementVirtualNetwork.
- Propriedade
Az.Billing (anteriormente AzureRM.Billing, AzureRM.Consumption e AzureRM.UsageAggregates)
- O
InvoiceNameparâmetro foi removido doGet-AzConsumptionUsageDetailcmdlet. Os scripts precisarão usar outros parâmetros de identidade para a fatura.
Az.CognitiveServices (anteriormente AzureRM.CognitiveServices)
- Conjunto de parâmetros removido
GetSkusWithAccountParamSetNamedoGet-AzCognitiveServicesAccountSkuscmdlet. Você deve obter Skus por tipo de conta e local, em vez de usar ResourceGroupName e Nome da Conta.
Az.Compute (anteriormente AzureRM.Compute)
-
IdentityIdssão removidos da propriedadeIdentitynos objetosPSVirtualMachineePSVirtualMachineScaleSet. Os scripts não devem mais usar o valor deste campo para tomar decisões de processamento. - O tipo de
InstanceViewpropriedade doPSVirtualMachineScaleSetVMobjeto é alterado deVirtualMachineInstanceViewparaVirtualMachineScaleSetVMInstanceView -
AutoOSUpgradePolicyeAutomaticOSUpgradeas propriedades são removidas daUpgradePolicypropriedade - O tipo de
Skupropriedade noPSSnapshotUpdateobjeto é alterado deDiskSkuparaSnapshotSku -
VmScaleSetVMParameterSeté removido doAdd-AzVMDataDiskcmdlet, você não pode mais adicionar um disco de dados individualmente a uma VM ScaleSet.
Az.DataFactory (anteriormente AzureRM.DataFactories e AzureRM.DataFactoryV2)
- O
GatewayNameparâmetro tornou-se obrigatório noNew-AzDataFactoryEncryptValuecmdlet - Removido o cmdlet
New-AzDataFactoryGatewayKey - Removido o parâmetro
LinkedServiceNamedo cmdletGet-AzDataFactoryV2ActivityRun. Os scripts não devem mais usar o valor desse campo para tomar decisões de processamento.
Az.DataLakeAnalytics (anteriormente AzureRM.DataLakeAnalytics)
- Cmdlets obsoletos removidos:
New-AzDataLakeAnalyticsCatalogSecret,Remove-AzDataLakeAnalyticsCatalogSecreteSet-AzDataLakeAnalyticsCatalogSecret
Az.DataLakeStore (anteriormente AzureRM.DataLakeStore)
Os cmdlets a seguir tiveram o
Encodingparâmetro alterado do tipoFileSystemCmdletProviderEncodingparaSystem.Text.Encoding. Essa alteração remove os valoresStringde codificação eOem. Todos os outros valores de codificação anteriores permanecem.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
Alias de propriedade preterido
Tagsremovido dos cmdletsNew-AzDataLakeStoreAccounteSet-AzDataLakeStoreAccountScripts usando
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}Deve ser alterado para
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}Propriedades preteridas
Identity,EncryptionState,EncryptionProvisioningState,EncryptionConfig,FirewallState,FirewallRules,VirtualNetworkRules,TrustedIdProviderState,TrustedIdProviders,DefaultGroup,NewTier,CurrentTier,FirewallAllowAzureIpsremovidas do objetoPSDataLakeStoreAccountBasic. Qualquer script que use oPSDatalakeStoreAccountretornado deGet-AzDataLakeStoreAccountnão deve referenciar essas propriedades.
Az.KeyVault (anteriormente AzureRM.KeyVault)
- A propriedade
PurgeDisabledfoi removida dos objetosPSKeyVaultKeyAttributes,PSKeyVaultKeyIdentityItemePSKeyVaultSecretAttributes. Scripts de objetos não devem mais referenciar a propriedadePurgeDisabledpara tomar decisões de processamento.
Az.Media (anteriormente AzureRM.Media)
Remover o alias de propriedade preterido de
Tagsdos scripts de cmdletNew-AzMediaServiceusandoNew-AzureRMMediaService -Tags @{TagName="TagValue"}Deve ser alterado para
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (anteriormente AzureRM.Insights)
Remoção dos nomes no plural dos parâmetros
CategorieseTimegrainsem favor de nomes de parâmetro no singular dos scripts usando o cmdletSet-AzDiagnosticSettingSet-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2Deve ser alterado para
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (anteriormente AzureRM.Network)
- Parâmetro obsoleto
ResourceIdremovido do cmdletGet-AzServiceEndpointPolicyDefinition - Removida a propriedade obsoleta
EnableVmProtectiondo objetoPSVirtualNetwork - Cmdlet
Set-AzVirtualNetworkGatewayVpnClientConfigobsoleto removido
Os scripts não devem mais tomar decisões de processamento com base nos valores desses campos.
Az.OperationalInsights (anteriormente AzureRM.OperationalInsights)
O conjunto de parâmetros padrão para
Get-AzOperationalInsightsDataSourcefoi removido, eByWorkspaceNameByKindtornou-se o conjunto de parâmetros padrão.Scripts que listaram fontes de dados usando
Get-AzureRmOperationalInsightsDataSourceDeve ser alterado para especificar um Tipo
Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
Az.RecoveryServices (anteriormente AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup e AzureRM.RecoveryServices.SiteRecovery)
- Removido o parâmetro
Encryptiondo cmdletNew/Set-AzRecoveryServicesAsrPolicy -
TargetStorageAccountNameo parâmetro agora é obrigatório para restaurações de disco gerenciado noRestore-AzRecoveryServicesBackupItemcmdlet - Removidos os parâmetros
StorageAccountNameeStorageAccountResourceGroupNameno cmdletRestore-AzRecoveryServicesBackupItem - Removido o parâmetro
Nameno cmdletGet-AzRecoveryServicesBackupContainer
Az.Resources (anteriormente AzureRM.Resources)
O parâmetro
Skufoi removido do cmdletNew/Set-AzPolicyAssignmentFoi removido o parâmetro
PassworddoNew-AzADServicePrincipaleNew-AzADSpCredential. As senhas são geradas automaticamente; scripts que anteriormente forneciam a senha:New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 -Password $secPasswordDeve ser alterado para recuperar a senha da saída:
$credential = New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 $secPassword = $credential.Secret
Az.ServiceFabric (anteriormente AzureRM.ServiceFabric)
- Os seguintes tipos de retorno de cmdlet foram alterados:
- A propriedade
ServiceTypeHealthPoliciesdo tipoApplicationHealthPolicyfoi removida. - A propriedade
ApplicationHealthPoliciesdo tipoClusterUpgradeDeltaHealthPolicyfoi removida. - A propriedade
OverrideUserUpgradePolicydo tipoClusterUpgradePolicyfoi removida. - Essas alterações afetam os seguintes cmdlets:
- 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
- A propriedade
Az.Sql (anteriormente AzureRM.Sql)
- Removidos os parâmetros
StateeResourceIddo cmdletSet-AzSqlDatabaseBackupLongTermRetentionPolicy - Cmdlets preteridos removidos:
Get/Set-AzSqlServerBackupLongTermRetentionVault,Get/Start/Stop-AzSqlServerUpgrade,Get/Set-AzSqlDatabaseAuditingPolicy,Get/Set-AzSqlServerAuditingPolicy,Remove-AzSqlDatabaseAuditing,Remove-AzSqlServerAuditing - Parâmetro obsoleto
Currentremovido do cmdletGet-AzSqlDatabaseBackupLongTermRetentionPolicy - Parâmetro preterido
DatabaseNameremovido doGet-AzSqlServerServiceObjectivecmdlet - Parâmetro obsoleto
PrivilegedLoginremovido do cmdletSet-AzSqlDatabaseDataMaskingPolicy
Az.Storage (anteriormente Azure.Storage e AzureRM.Storage)
- Para dar suporte à criação de um contexto de armazenamento Oauth com apenas o nome da conta de armazenamento, o conjunto de parâmetros padrão foi alterado para
OAuthParameterSet- Exemplo:
$ctx = New-AzureStorageContext -StorageAccountName $accountName
- Exemplo:
- O
Locationparâmetro tornou-se obrigatório noGet-AzStorageUsagecmdlet - Os métodos de API de Armazenamento agora usam o TAP (Padrão Assíncrono baseado em tarefa), em vez de chamadas de API síncronas. Os exemplos a seguir demonstram os novos comandos assíncronos:
Instantâneo de 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
Compartilhar instantâneo
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
Recuperar blob excluído temporariamente
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()
Definir camada de 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 (anteriormente AzureRM.Websites)
- Propriedades preteridas removidas dos objetos
PSAppServicePlan,PSCertificate,PSCloningInfoePSSite
Azure PowerShell