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 the following command.

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:

AllowPrerelease parameter can't be found

Error: “Install-Module: A parameter can't be found that matches parameter name AllowPrerelease.”

This means that you're using an older version of Install-Module. Here’s how 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} cannot be created because function capacity 4096 has been exceeded. To fix this error, increase the function limit by running the following command, then try importing the module again.

$MaximumFunctionCount = 32768

Commands already available in the module

Error: The following commands are already available on this system:'Enable-EntraAzureADAlias,Get-EntraUnsupportedCommand,Test-EntraScript'.

This means that there's a conflict when either beta or v1.0 is already installed.

Workaround: Uninstall the problematic module version, launch a new PowerShell window, and install the desired one.

Missing dependencies

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.

It means that Microsoft Entra PowerShell dependencies aren't installed. To install the dependencies, use 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.

Workaround: Ensure 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.

Workaround: Ensure the Microsoft Entra PowerShell module is installed correctly using:

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."

Workaround: To resolve the error, uninstall all conflicting versions of the module and then install the latest version:

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

Permission errors

Receiving errors related to insufficient permissions when attempting to execute commands or scripts.

Workaround: Ensure 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.

Workaround: 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.

Workaround: 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.

Workaround: 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.