Solução de problemas do módulo Az PowerShell
Habilitar o log de depuração
Um dos primeiros passos que você deve realizar na solução de um problema com o módulo Az PowerShell é ativar o log de depuração.
Para habilitar o log de depuração para cada comando, especifique o parâmetro Debug.
Get-AzResource -Name 'DoesNotExist' -Debug
Para habilitar o log de depuração para uma sessão inteira do PowerShell, defina o valor da variável DebugPreference como Continue
.
$DebugPreference = 'Continue'
Mensagens de anúncio em cenários de automação
Ao se conectar ao Azure com o Azure PowerShell, as mensagens de anúncio são exibidas usando o fluxo de informações do PowerShell para impedir que alterem a saída baseada em objeto retornada. Embora tenhamos feito todos os esforços para garantir que as mensagens de anúncio não afetem sua experiência, há alguns cenários de automação em que elas podem afetar o uso. Se você tiver problemas, recomendamos que você suprima o fluxo de informações nesses cenários:
Connect-AzAccount -Subscription '<subscription name or id>' -InformationAction Ignore
Gerente de Conta Web (WAM)
- O método de entrada interativo não pode abrir uma janela para WAM e retorna o erro: Usuário cancelou a autenticação.
- Os cmdlets do Azure PowerShell não podem ser executados depois de fazer logon com um nome de usuário e senha ou código de dispositivo.
- A janela pop-up WAM não exibe a opção Conta Corporativa e Escolar.
- O método de entrada interativo não pode abrir uma janela WAM no console ISE do Windows PowerShell.
A solução alternativa para esses problemas é desabilitar o WAM:
Update-AzConfig -EnableLoginByWam $false
- A janela pop-up WAM para selecionar uma conta não é fácil de encontrar. Minimize outras janelas para localizar a janela pop-up.
Instalação
Esta seção contém uma lista de soluções para problemas comuns ao instalar o módulo Az PowerShell.
Coexistência de Az e AzureRM
Advertência
Não suportamos ter os módulos AzureRM e Az PowerShell instalados no Windows PowerShell 5.1 ao mesmo tempo.
Em um cenário em que você precisa instalar o módulo AzureRM e Az PowerShell no mesmo sistema Windows:
- O AzureRM deve ser instalado somente no escopo de usuário atual do Windows PowerShell 5.1.
- Instale o módulo Az PowerShell no PowerShell 7.2 ou superior.
Advertência
O módulo AzureRM PowerShell foi oficialmente preterido a partir de 29 de fevereiro de 2024. Os usuários são aconselhados a migrar do AzureRM para o módulo Az PowerShell para garantir suporte e atualizações contínuos.
Embora o módulo AzureRM ainda possa funcionar, ele não é mais mantido ou suportado, colocando qualquer uso continuado a critério e risco do usuário. Consulte as nossas recursos de migração de para obter orientação sobre a transição para o módulo Az.
Estúdio Visual
Versões mais antigas do Visual Studio podem instalar o Azure PowerShell como parte da carga de trabalho de desenvolvimento do Azure, que instala o módulo AzureRM. O Azure PowerShell pode ser removido com o uso do instalador do Visual Studio ou selecionando "Desinstalar" em funcionalidades de Aplicações &. Se você já tiver instalado o PowerShell 7.x, talvez seja necessário instalar manualmente módulo Az PowerShell.
Proxy bloqueia conexão
Se você receber erros de Install-Module
que a Galeria do PowerShell está inacessível, você pode estar atrás de um proxy. Diferentes sistemas operacionais e ambiente de rede têm requisitos diferentes para configurar um proxy em todo o sistema. Entre em contato com o administrador do sistema para obter as configurações de proxy e como configurá-las para seu ambiente.
O próprio PowerShell pode não estar configurado para usar esse proxy automaticamente. Com o PowerShell 5.1 e posterior, configure a sessão do PowerShell para usar um proxy usando os seguintes comandos:
$webClient = New-Object -TypeName System.Net.WebClient
$webClient.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
Se as credenciais do sistema operacional estiverem configuradas corretamente, essa configuração roteia as solicitações do PowerShell por meio do proxy. Para que essa configuração persista entre as sessões, adicione os comandos ao seu perfil do PowerShell.
Para instalar o pacote, seu proxy precisa permitir conexões HTTPS para www.powershellgallery.com.
Referência de objeto não definida como uma instância de um objeto
A mensagem "referência de objeto não definida como uma instância de um objeto" significa que você está se referindo a um objeto nulo ou a um recurso do Azure que não existe ou que você não tem permissões para acessar.
$resourceId = '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<resource-group-name>/providers/Microsoft.Web/sites/<webapp-name>/privateEndpointConnections/<endpoint-name>'
Get-AzPrivateEndpointConnection -ResourceId $resourceId
Get-AzPrivateEndpointConnection: Object reference not set to an instance of an object.
Você pode usar o cmdlet Get-AzResource
para verificar se o recurso do Azure especificado existe.
Get-AzResource -ResourceId $resourceId
Problemas de permissão com cmdlets AzAD
O módulo Az PowerShell usa a API do Microsoft Graph. Administrar ou gerenciar recursos no Azure com o módulo Az PowerShell requer as mesmas permissões que executar a tarefa idêntica no portal do Azure ou em qualquer outra ferramenta de linha de comando do Azure. Para perguntas específicas sobre permissões, consulte a referência do Microsoft Graph sobre permissões.
Parâmetros de consulta do Microsoft Graph
Os cmdlets AzAd em Az.Resources agora suportam parâmetros de consulta e, bem como parâmetros de consulta de pesquisa e. Para obter detalhes sobre a sintaxe, consulte os links referenciados anteriormente.
Get-AzAdGroupMember não retorna entidades de serviço
Devido a limitações com a API do Graph atual, as entidades de serviço não são retornadas pelo Get-AzAdGroupMember no Az 7.x. Como solução alternativa, Invoke-AzRestMethod pode ser usado com a versão beta da API do Microsoft Graph.
O exemplo a seguir requer o módulo Az PowerShell. Substitua myGroupName
na primeira linha pelo nome do seu grupo.
$Group = Get-AzADGroup -DisplayName myGroupName
((Invoke-AzRestMethod -Uri "https://graph.microsoft.com/beta/groups/$($Group.id)/members").Content |
ConvertFrom-Json).value |
Select-Object -Property DisplayName, Id, @{label='OdataType';expression={$_.'@odata.type'}}
Comando encontrado, mas não pôde ser carregado
A mensagem a seguir é retornada pelo PowerShell quando você tenta executar qualquer um dos comandos do Az PowerShell.
Connect-AzAccount: The 'Connect-AzAccount' command was found in the module 'Az.Accounts', but the module could not be loaded. For more information, run 'Import-Module Az.Accounts'.
Essa mensagem ocorre quando você tem os módulos Az e AzureRM PowerShell instalados no mesmo sistema baseado no Windows e eles existem no
Importante
Quando o AzureRM é instalado no escopo AllUsers
do Windows PowerShell, ele é instalado em um local que faz parte do $env:PSModulePath
do PowerShell 7. Isso não é suportado devido a conflitos entre os módulos AzureRM e Az PowerShell.
Az e AzureRM podem coexistir no mesmo sistema Windows, mas somente se o AzureRM estiver instalado no escopo CurrentUser
do Windows PowerShell e Az instalado no PowerShell 7. Para obter mais informações, consulte Instalar o módulo Az PowerShell.
Advertência
O módulo AzureRM PowerShell foi oficialmente preterido a partir de 29 de fevereiro de 2024. Os usuários são aconselhados a migrar do AzureRM para o módulo Az PowerShell para garantir suporte e atualizações contínuos.
Embora o módulo AzureRM ainda possa funcionar, ele não é mais mantido ou suportado, colocando qualquer uso continuado a critério e risco do usuário. Consulte os nossos recursos de migração para obter orientação sobre a transição para o módulo Az.
No MacOS, um erro retorna quando a autorização do KeyChain falha
Ao executar o Azure PowerShell no MacOS, você pode encontrar uma mensagem de erro ao tentar entrar na sua conta do Azure a partir de uma sessão do PowerShell.
DeviceCodeCredential authentication failed: Persistence check failed. Reason: KeyChain authorization/authentication failed. .Error code: -25293. OS error code -25293.
Como solução alternativa para esse problema, você pode desabilitar o armazenamento de credenciais entre sessões executando o seguinte comando. No entanto, depois de fazer essa alteração, você precisa executar Connect-AzAccount
sempre que iniciar uma nova sessão do PowerShell.
Disable-AzContextAutosave
A ligação a este site não é segura
Quando seu navegador padrão é o Microsoft Edge, você pode encontrar o seguinte erro ao tentar fazer logon no Azure interativamente com Connect-AzAccount
: "A conexão para este site não é segura." Para resolver esse problema, visite edge://net-internals/#hsts no Microsoft Edge. Adicione localhost
em "Excluir diretiva de segurança de domínio" e clique em Excluir.
Erro de domínio verificado pelo Service Principal IdentifierUri
Erro: Valores da propriedade identifierUris deve usar um domínio verificado da organização ou seu subdomínio é exibido ao executar New-AzADServicePrincipal
ou New-AzADApplication
.
Devido à alteração de quebra do Microsoft Entra que exige
Você também pode atualizar para o módulo Az PowerShell versão 6.0 ou superior.
Linha do Tempo
A exigência entrou em vigor em 15 de outubro de 2021.
Versões afetadas
As seguintes versões do Azure PowerShell são afetadas pela alteração disruptiva do AzureAD.
- Az.Resources módulo PowerShell versão 3.5.1-preview ou inferior.
- módulo Az PowerShell versão 5.9.0 ou inferior.
Se você ainda estiver encontrando problemas após a atualização, sinta-se à vontade para abrir um problema .
Solução alternativa
Se não for possível atualizar para os módulos do PowerShell que foram descritos anteriormente, pode seguir estas etapas ao criar um principal de serviço:
- Se necessário, adicione o seu nome de domínio personalizado usando o centro de administração do Microsoft Entra
- Criar um aplicativo com um IdentifierUri aceito
- Criar um serviço principal referindo-se a esta aplicação
Outras questões
Se você tiver um problema de produto com o Azure PowerShell não listado neste artigo ou precisar de mais assistência, registrar um problema no GitHub.
Azure PowerShell