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á a orientá-lo por um caminho de migração completa, incluindo alterações específicas do módulo que possam afetar seus scripts.
Houve alterações da falha entre o Az 1.0.0 e o Az 2.0.0. Depois de seguir este guia para a atualização do AzureRM para o Az, confira as alterações da falha do Az 2.0.0 para descobrir se você precisa fazer alterações adicionais.
Esta seção fornece detalhes sobre as alterações gerais da falha que fazem parte do novo design do módulo Az.
Alterações de prefixo de substantivo do cmdlet
No módulo AzureRM, os cmdlets usavam AzureRM ou Azure como prefixo de substantivo. O Az simplifica e normaliza os nomes dos cmdlets, de modo que todos os cmdlets usem 'Az' como seu prefixo de substantivo do cmdlet. Por exemplo:
Azure PowerShell
Get-AzureRMVMGet-AzureKeyVaultSecret
Foi alterado para:
Azure PowerShell
Get-AzVMGet-AzKeyVaultSecret
Para simplificar a transição para esses novos nomes de cmdlets, o Az introduz dois novos cmdlets, Enable-AzureRmAlias e Disable-AzureRmAlias. Enable-AzureRmAlias cria aliases para os nomes de cmdlets mais antigos no AzureRM que são mapeados para os nomes de cmdlets mais recentes do Az. O uso do argumento -Scope com Enable-AzureRmAlias permite que você escolha em que local os aliases serão habilitados.
A execução de Enable-AzureRmAlias -Scope CurrentUser habilitará os aliases para todas as sessões do PowerShell, para que, após a execução desse cmdlet, um script como este não precise ser alterado:
Quando você estiver pronto para desabilitar os aliases, Disable-AzureRmAlias removerá os aliases criados. Para obter detalhes completos, confira a referência de Disable-AzureRmAlias.
Importante
Ao desabilitar os aliases, verifique se eles estão desabilitados para todos os escopos que tinham aliases habilitados.
Alterações de nome de módulo
Os nomes do módulo foram alterados de AzureRM.* para Az.*, exceto para os seguintes módulos:
Módulo 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 dos módulos significam que qualquer script que usa #Requires ou Import-Module para carregar módulos específicos precisarão ser alterados para usar o novo módulo. Para os módulos em que o sufixo do cmdlet não foi alterado, isso significa que, embora o nome do módulo tenha sido alterado, isso não ocorreu com o sufixo que indica o espaço da operação.
Como migrar as instruções #Requires e Import-Module
Os scripts que usam #Requires ou Import-Module para declarar uma dependência de módulos AzureRM precisam ser atualizados para usar os novos nomes de módulos. Por exemplo:
Azure PowerShell
#Requires -Module AzureRM.Compute
Deve ser alterado para:
Azure PowerShell
#Requires -Module Az.Compute
Para Import-Module:
Azure PowerShell
Import-Module -Name AzureRM.Compute
Deve ser alterado para:
Azure PowerShell
Import-Module -Name Az.Compute
Migração de invocações de cmdlet totalmente qualificadas
Os scripts que usam as invocações de cmdlet qualificadas por módulo, como:
Azure PowerShell
AzureRM.Compute\Get-AzureRmVM
Precisam ser alterados para usar os novos nomes de módulos e cmdlets:
Azure PowerShell
Az.Compute\Get-AzVM
Como migrar dependências de manifesto de módulo
Os módulos que expressam dependências de módulos AzureRM por meio de um arquivo de manifesto (.psd1) de módulo precisarão atualizar os nomes de módulos em sua seção RequiredModules:
Não há mais suporte ativo para as ferramentas desses serviços. Os clientes são incentivados a mudar para serviços alternativos, assim que for conveniente.
Windows PowerShell 5.1 e .NET 4.7.2
O uso do Az com o PowerShell 5.1 para Windows exige a instalação do .NET Framework 4.7.2. O uso do PowerShell Core 6.x ou posterior não exige o .NET Framework.
Remoção temporária de logon de usuário usando PSCredential
Devido a alterações no fluxo de autenticação para o .NET Standard, estamos temporariamente removendo o logon de usuário por meio do PSCredential. Essa funcionalidade será introduzida novamente na versão de 15/1/2019 do PowerShell 5.1 para Windows. Isso é abordado detalhadamente neste problema do GitHub.
Logon de código de dispositivo padrão em vez de prompt do navegador da Web
Devido a alterações no fluxo de autenticação para o .NET Standard, estamos usando o logon do dispositivo como o fluxo de logon padrão durante o logon interativo. O logon baseado em navegador da Web será reintroduzido no PowerShell 5.1 para Windows como o padrão na versão de 15/1/2019. Nesse momento, os usuários poderão escolher logon de dispositivo usando um parâmetro Switch.
Alterações de falhas para módulos
Esta seção fornece detalhes sobre alterações específicas da falha para cmdlets e módulos individuais.
Use o cmdlet Set-AzApiManagement para definir essas propriedades
Remoção das seguintes propriedades:
Removidas as propriedades PortalHostnameConfiguration, ProxyHostnameConfiguration, ManagementHostnameConfiguration e ScmHostnameConfiguration do tipo PsApiManagementHostnameConfiguration de PsApiManagementContext. Em vez disso, use PortalCustomHostnameConfiguration, ProxyCustomHostnameConfiguration, ManagementCustomHostnameConfiguration e ScmCustomHostnameConfiguration do tipo PsApiManagementCustomHostNameConfiguration.
Removida a propriedade StaticIPs de PsApiManagementContext. A propriedade foi dividida em PublicIPAddresses e PrivateIPAddresses.
Removida a propriedade necessária Location do cmdlet New-AzureApiManagementVirtualNetwork.
Az.Billing (anteriormente AzureRM.Billing, AzureRM.Consumption e AzureRM.UsageAggregates)
O parâmetro InvoiceName foi removido em favor do cmdlet Get-AzConsumptionUsageDetail. Os scripts precisarão usar outros parâmetros de identidade para a fatura.
Removido o conjunto de parâmetros GetSkusWithAccountParamSetName do cmdlet Get-AzCognitiveServicesAccountSkus. Você deve obter Skus por Account Type e Location, em vez de usar ResourceGroupName e Account Name.
Az.Compute (anteriormente AzureRM.Compute)
IdentityIds foram removidos da propriedade Identity nos Scripts dos objetos PSVirtualMachine e PSVirtualMachineScaleSet, que não devem mais usar o valor desse campo para tomar decisões de processamento.
O tipo de propriedade InstanceView do objeto PSVirtualMachineScaleSetVM foi alterado de VirtualMachineInstanceView para VirtualMachineScaleSetVMInstanceView
As propriedades AutoOSUpgradePolicy e AutomaticOSUpgrade foram removidas da propriedade UpgradePolicy
O tipo de propriedade Sku do objeto PSSnapshotUpdate foi alterado de DiskSku para SnapshotSku
VmScaleSetVMParameterSet foi removido do cmdlet Add-AzVMDataDisk. Não é mais possível adicionar um disco de dados individualmente em uma VM ScaleSet.
Az.DataFactory (anteriormente AzureRM.DataFactories e AzureRM.DataFactoryV2)
O parâmetro GatewayName agora é obrigatório no cmdlet New-AzDataFactoryEncryptValue
Removido o cmdlet New-AzDataFactoryGatewayKey
Removido o parâmetro LinkedServiceName dos Scripts cmdlet Get-AzDataFactoryV2ActivityRun, que não devem mais usar o valor desse campo para tomar decisões de processamento.
Os cmdlets a seguir tiveram o parâmetro Encoding alterado do tipo FileSystemCmdletProviderEncoding para System.Text.Encoding. Essa alteração remove os valores de codificação String e Oem. Todos os outros valores de codificação anteriores permanecem.
New-AzureRmDataLakeStoreItem
Add-AzureRmDataLakeStoreItemContent
Get-AzureRmDataLakeStoreItemContent
Removido o alias da propriedade preterida Tags dos cmdlets New-AzDataLakeStoreAccount e Set-AzDataLakeStoreAccount
Removidas as propriedades preteridas Identity, EncryptionState, EncryptionProvisioningState, EncryptionConfig, FirewallState, FirewallRules, VirtualNetworkRules, TrustedIdProviderState, TrustedIdProviders, DefaultGroup, NewTier, CurrentTier e FirewallAllowAzureIps do objeto PSDataLakeStoreAccountBasic. Qualquer script que use o PSDatalakeStoreAccount retornado de Get-AzDataLakeStoreAccount não deve fazer referência a essas propriedades.
Az.KeyVault (anteriormente AzureRM.KeyVault)
A propriedade PurgeDisabled foi removida dos objetos PSKeyVaultKeyAttributes, PSKeyVaultKeyIdentityItem e PSKeyVaultSecretAttributes e os Scripts não devem fazer referência à propriedade PurgeDisabled para tomar decisões de processamento.
Az.Media (anteriormente AzureRM.Media)
Removido o alias da propriedade preterida Tags dos Scripts cmdlet New-AzMediaService sendo usados
Removidos os nomes no plural dos parâmetros Categories e Timegrains em favor de nomes de parâmetro no singular dos Scripts cmdlet Set-AzDiagnosticSetting sendo usados
O conjunto de parâmetros padrão para Get-AzOperationalInsightsDataSource foi removido, e ByWorkspaceNameByKind tornou-se o conjunto de parâmetros padrão
Os scripts que listavam as fontes de dados sendo usadas
Az.RecoveryServices (anteriormente AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup e AzureRM.RecoveryServices.SiteRecovery)
Removido o parâmetro Encryption do cmdlet New/Set-AzRecoveryServicesAsrPolicy
O parâmetro TargetStorageAccountName agora é obrigatório para restaurações de disco gerenciado no cmdlet Restore-AzRecoveryServicesBackupItem
Removidos os parâmetros StorageAccountName e StorageAccountResourceGroupName no cmdlet Restore-AzRecoveryServicesBackupItem
Removido o parâmetro Name no cmdlet Get-AzRecoveryServicesBackupContainer
Az.Resources (anteriormente AzureRM.Resources)
Removido o parâmetro Sku do cmdlet New/Set-AzPolicyAssignment
Removido o parâmetro de Password das Senhas cmdlets New-AzADServicePrincipal e New-AzADSpCredential automaticamente geradas, nos scripts que forneciam a senha:
Os seguintes tipos de retorno de cmdlet foram alterados:
A propriedade ServiceTypeHealthPolicies do tipo ApplicationHealthPolicy foi removida.
A propriedade ApplicationHealthPolicies do tipo ClusterUpgradeDeltaHealthPolicy foi removida.
A propriedade OverrideUserUpgradePolicy do tipo ClusterUpgradePolicy foi 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
Az.Sql (anteriormente AzureRM.Sql)
Removidos os parâmetros State e ResourceId do cmdlet Set-AzSqlDatabaseBackupLongTermRetentionPolicy
Removidos os cmdlets preteridos: Get/Set-AzSqlServerBackupLongTermRetentionVault, Get/Start/Stop-AzSqlServerUpgrade, Get/Set-AzSqlDatabaseAuditingPolicy, Get/Set-AzSqlServerAuditingPolicy, Remove-AzSqlDatabaseAuditing, Remove-AzSqlServerAuditing
Removido o parâmetro preterido Current do cmdlet Get-AzSqlDatabaseBackupLongTermRetentionPolicy
Removido o parâmetro preterido DatabaseName do cmdlet Get-AzSqlServerServiceObjective
Removido o parâmetro preterido PrivilegedLogin do cmdlet Set-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
O parâmetro Location agora é obrigatório no cmdlet Get-AzStorageUsage
Os métodos da API de armazenamento agora usam o padrão assíncrono baseado em tarefas (TAP), em vez de chamadas à API síncronas. Os seguintes exemplos demonstram os novos comandos assíncronos:
O Azure HPC é uma funcionalidade de nuvem criada com finalidade para a carga de trabalho de IA e HPC, usando processadores de ponta e interconexão InfiniBand da classe HPC para fornecer o melhor desempenho, escalabilidade e valor do aplicativo. O Azure HPC permite que os usuários obtenham inovação, produtividade e agilidade empresarial, por meio de uma variedade altamente disponível de tecnologias de HPC e IA que podem ser alocadas dinamicamente conforme as suas necessidades técnicas e empresariais mudam. E
Visão geral da desativação do módulo do PowerShell do AzureRM, incluindo etapas e ferramentas para migrar scripts do Azure PowerShell do AzureRM para o módulo do Az PowerShell.
Visão geral do módulo Az.Tools.Migration do PowerShell desenvolvido e mantido pela equipe do Azure PowerShell, mas não parte do módulo do Az PowerShell.