Editar

Compartir a través de


Troubleshoot the Microsoft Entra PowerShell module

This article explains how to determine, diagnose, and fix issues that you might encounter when using Microsoft Entra PowerShell.

Before troubleshooting any errors, ensure that you’re running the most recent version of the Microsoft Entra PowerShell. To check the version of your installed module, run:

Get-InstalledModule -Name Microsoft.Graph.Entra

The version of the Microsoft.Graph.Entra module should be the most recent compared to the latest release in the PowerShell Gallery. If your installed module isn’t up to date, update it by running:

Update-Module -Name Microsoft.Graph.Entra -AllowPrerelease

Installation issues

During installation, you can encounter some errors that prevent the module from being installed correctly. Here are some common issues and their solutions.

AllowPrerelease parameter can't be found

You might get an error if you're using an older version of Install-Module: "Install-Module: A parameter can't be found that matches parameter name AllowPrerelease." To fix this error, run the following commands to upgrade:

## 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 

Function capacity 4096 has been exceeded for this scope

In PowerShell 5.1, you might see the error: "Function {cmdlet-name} can't be created because function capacity 4096 has been exceeded." To fix this error, increase the function limit by running the command below, then try to import the module again.

$MaximumFunctionCount = 32768

Commands already available in the module

If there's a conflict when either beta or v1.0 is already installed, you might see the error: "The following commands are already available on this system: Enable-EntraAzureADAlias, Get-EntraUnsupportedCommand, Test-EntraScript." Fix this error by adding the -AllowClobber parameter and rerunning the command.

Missing dependencies

When Microsoft Entra PowerShell dependencies aren't installed, you might see the error: "Dependent module module-name isn't installed on this computer. To use the current module Microsoft.Graph.Entra, ensure that its dependent module module-name is installed." To fix this error, install the dependencies using the following script:

  • Install Microsoft Graph PowerShell SDK v1.0 dependencies.
$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 #>

Authentication issues

Failure to authenticate or receive tokens can result in a "401 Unauthorized" response. This error can occur for several reasons. To fix this error, make sure that you're using the correct credentials and have sufficient permissions. Check that your app registrations (if applicable) are configured correctly with the necessary API permissions in Microsoft Entra ID.

Cmdlet not recognized

PowerShell doesn't recognize the cmdlet that you're trying to run. To fix this error, make sure the Microsoft Entra PowerShell module is installed correctly. You can check this by running:

Get-Module -Name Microsoft.Graph.Entra -ListAvailable

If the module isn't listed, install it using:

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

Version conflicts

You might encounter errors indicating multiple versions of the module are installed, such as the message "Assembly with the same name is already loaded." To fix this error, uninstall all conflicting versions of the module and then install the latest version:

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

Permission errors

You might receive errors related to insufficient permissions when attempting to execute commands or scripts. To fix this error, make sure that you have the necessary permissions to perform the operation. You may need to adjust permissions in the Microsoft Entra admin center.

Module update issues

You might run into issues when trying to update the Microsoft Entra PowerShell module. To fix this error, use the snippet to install the latest version. If there are errors, try uninstalling and then reinstalling the module.

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

Performance issues

Your scripts or commands might be running slowly or not completing as expected. To fix it, consider refining your queries to fetch only necessary data, using filters and selecting specific properties. Increase timeouts if necessary.

Handling errors

You might receive errors from the Microsoft Entra PowerShell module that are hard to understand or manage. To fix this error, use $Error[0].Exception | Format-List -Force to get detailed error information. The information can help in understanding the API response and troubleshooting further.

Proxy blocks connection

If you get errors from Install-Module that the PowerShell Gallery is unreachable, you may be behind a proxy. Different operating systems and network environment have different requirements for configuring a system-wide proxy. Contact your system administrator for your proxy settings and how to configure them for your environment.

PowerShell itself may not be configured to use this proxy automatically. With PowerShell 5.1 and later, configure the PowerShell session to use a proxy using the following commands:

$webClient = New-Object -TypeName System.Net.WebClient
$webClient.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials

If your operating system credentials are configured correctly, this configuration routes PowerShell requests through the proxy. To have this setting persist between sessions, add the commands to your PowerShell profile.

To install the package, your proxy needs to allow HTTPS connections to www.powershellgallery.com.

Other issues

If you experience a product issue with Microsoft Entra PowerShell not listed in this article or require further assistance, file an issue on GitHub.