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.