Solucionar problemas de erros comuns no Microsoft Entra PowerShell

Este artigo explica como determinar, diagnosticar e corrigir problemas que você pode encontrar ao usar Microsoft Entra PowerShell.

Antes de solucionar problemas de erros, verifique se você está executando a versão mais recente do Microsoft Entra PowerShell. Para verificar a versão do módulo instalado, execute:

Get-InstalledModule -Name Microsoft.Entra

A versão do módulo Microsoft.Entra deve ser a mais recente em comparação com a versão mais recente disponível na Galeria do PowerShell. Se o módulo instalado não estiver atualizado, atualize-o executando:

Update-Module -Name Microsoft.Entra

Problemas de instalação

Durante a instalação, você pode encontrar alguns erros que impedem que o módulo seja instalado corretamente. Aqui estão alguns problemas comuns e suas soluções.

O parâmetro AllowPrerelease não pode ser encontrado

Você poderá receber um erro se estiver usando uma versão mais antiga do Install-Module: "Install-Module: Um parâmetro não pode ser encontrado que corresponda ao nome AllowPrereleasedo parâmetro." Para corrigir esse erro, execute os seguintes comandos para atualizar:

## Update Nuget Package and PowerShellGet Module 

Install-PackageProvider NuGet -Scope CurrentUser -Force 

Install-Module PowerShellGet -Scope CurrentUser -Force -AllowClobber 

## Remove old modules from existing session 

Remove-Module PowerShellGet,PackageManagement -Force -ErrorAction Ignore 

## Import updated module 

Import-Module PowerShellGet -MinimumVersion 2.0 -Force 

Import-PackageProvider PowerShellGet -MinimumVersion 2.0 -Force 

O limite de 4096 funções foi excedido para este escopo

No PowerShell 5.1, você pode ver o erro: "A função {cmdlet-name} não pode ser criada porque a capacidade da função 4096 foi excedida.". Para corrigir esse erro, aumente o limite de função executando o comando a seguir e tente importar o módulo novamente.

$MaximumFunctionCount = 32768

Comandos já disponíveis no módulo

Se houver um conflito quando Beta ou v1.0 já estiver instalado, você poderá ver o erro: "Os seguintes comandos já estão disponíveis neste sistema: Enable-EntraAzureADAlias, Get-EntraUnsupportedCommand, Test-EntraScript." Corrija esse erro adicionando o parâmetro -AllowClobber e executando novamente o comando.

Dependências ausentes

Quando Microsoft Entra dependências do PowerShell não estiverem instaladas, você poderá ver o erro: "O módulo module-name dependente não está instalado neste computador. Para usar o módulo Microsoft.Entraatual, verifique se o módulo module-name dependente está instalado." Para corrigir esse erro, instale as dependências usando o seguinte script:

  • Instale as dependências do SDK do PowerShell do Microsoft Graph v1.0.
$RequiredModules = (@'
Microsoft.Graph.DirectoryObjects
Microsoft.Graph.Users
Microsoft.Graph.Users.Actions
Microsoft.Graph.Users.Functions
Microsoft.Graph.Groups
Microsoft.Graph.Identity.DirectoryManagement
Microsoft.Graph.Identity.Governance
Microsoft.Graph.Identity.SignIns
Microsoft.Graph.Applications
'@).Split("`n")

# Check if the pre-requisite modules are installed and install them if needed
foreach ($module in $RequiredModules) {
    Write-Host -ForegroundColor Yellow -BackgroundColor DarkBlue "Checking for $module"
    if (!(Get-Module -Name $module -ListAvailable)) {
        Install-Module -Name $module -Scope CurrentUser
    }
}

<# Attribution: https://github.com/SamErde and https://github.com/alexandair #>

Problemas de autenticação

A falha ao autenticar ou receber tokens pode resultar em uma resposta "401 Não autorizada". Esse erro pode ocorrer por várias razões. Para corrigir esse erro, verifique se você está usando as credenciais corretas e tem permissões suficientes. Verifique se os registros do aplicativo (se aplicável) estão configurados corretamente com as permissões de API necessárias no Microsoft Entra ID.

Cmdlet não reconhecido

O PowerShell não reconhece o cmdlet que você está tentando executar. Para corrigir esse erro, verifique se o módulo Microsoft Entra PowerShell está instalado corretamente. Você pode verificar esse status executando:

Get-Module -Name Microsoft.Entra -ListAvailable

Se o módulo não estiver listado, instale-o usando:

Install-Module -Name Microsoft.Entra -Repository PSGallery -Force

Conflitos de versão

Você pode encontrar erros que indicam que várias versões do módulo estão instaladas, como a mensagem "Assembly com o mesmo nome já está carregado". Para corrigir esse erro, desinstale todas as versões conflitantes do módulo e instale a versão mais recente:

Install-Module <Module-Name> -Required Version x.x

Erros de permissão

Você pode receber erros relacionados a permissões insuficientes ao tentar executar comandos ou scripts. Para corrigir esse erro, verifique se você tem as permissões necessárias para executar a operação. Talvez seja necessário ajustar as permissões no centro de administração do Microsoft Entra.

Problemas de atualização do módulo

Você pode encontrar problemas ao tentar atualizar o módulo Microsoft Entra PowerShell. Para corrigir esse erro, use o snippet para instalar a versão mais recente. Se houver erros, tente desinstalar e reinstalar o módulo.

Install-Module -Name Microsoft.Entra -Repository PSGallery -Force

Problemas de desempenho

Seus scripts ou comandos podem estar sendo executados lentamente ou não concluídos conforme o esperado. Para corrigi-lo, considere refinar suas consultas para buscar apenas os dados necessários, usando filtros e selecionando propriedades específicas. Aumente o tempo limite, se necessário.

Tratamento de erros

Você pode receber erros do módulo Microsoft Entra PowerShell que são difíceis de entender ou gerenciar. Para corrigir esse erro, use $Error[0].Exception | Format-List -Force para obter informações detalhadas de erro. As informações podem ajudar a entender ainda mais a resposta à API e a solução de problemas.

Proxy bloqueia conexão

Se encontrar erros de Install-Module que indicam que a Galeria do PowerShell está inacessível, talvez você esteja protegido por um proxy. Sistemas operacionais e ambientes de rede diferentes têm requisitos diferentes para configurar um proxy para todo o sistema. Entre em contato com o administrador do sistema para obter as configurações de proxy e saber como defini-las para seu ambiente.

O próprio PowerShell pode não ser configurado para usar esse proxy automaticamente. Com o PowerShell 5.1 e posterior, configure a sessão do PowerShell para usar um proxy por meio dos 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.

Outros problemas

Se você tiver um problema com o produto Microsoft Entra PowerShell não listado neste artigo ou precisar de assistência adicional, registre um problema no GitHub.