Find-EntraPermission
Helps users determine the necessary permissions for resources and identify the appropriate permissions required for various commands.
Syntax
Find-EntraPermission
[-SearchString] <String>
[-ExactMatch]
[-PermissionType <String>]
[-Online]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Find-EntraPermission
[-PermissionType <String>]
[-Online]
[-All]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Description
The Find-EntraPermission
cmdlet helps users determine the necessary permissions for resources and identify the appropriate permissions required for various commands.
Examples
Example 1: Get a list of all Application permissions
Find-EntraPermission application
PermissionType: Delegated
Id Consent Name Description
-- ------- ---- -----------
c79f8feb-a9db-4090-85f9-90d820caa0eb Admin Application.Read.All Allows the app to read applications and service principals on behalf of the signed-in user.
bdfbf15f-ee85-4955-8675-146e8e5296b5 Admin Application.ReadWrite.All Allows the app to create, read, update and delete applications and service principals on behalf of the signed-in user. Does not allow management of consent grants.
PermissionType: Application
Id Consent Name Description
-- ------- ---- -----------
9a5d68dd-52b0-4cc2-bd40-abcf44ac3a30 Admin Application.Read.All Allows the app to read all applications and service principals without a signed-in user.
1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9 Admin Application.ReadWrite.All Allows the app to create, read, update and delete applications and service principals without a signed-in user. Does not allow management of consent grants.
18a4783c-866b-4cc7-a460-3d5e5662c884 Admin Application.ReadWrite.OwnedBy Allows the app to create other applications, and fully manage those applications (read, update, update application secrets and delete), without a signed-in user...
Example 2. Get a list of permissions for the Read permissions
Find-EntraPermission application.Read | Format-List
Id : c79f8feb-a9db-4090-85f9-90d820caa0eb
PermissionType : Delegated
Consent : Admin
Name : Application.Read.All
Description : Allows the app to read applications and service principals on behalf of the signed-in user.
Id : bdfbf15f-ee85-4955-8675-146e8e5296b5
PermissionType : Delegated
Consent : Admin
Name : Application.ReadWrite.All
Description : Allows the app to create, read, update and delete applications and service principals on behalf of the signed-in user. Does not allow management of consent grants.
Id : 9a5d68dd-52b0-4cc2-bd40-abcf44ac3a30
PermissionType : Application
Consent : Admin
Name : Application.Read.All
Description : Allows the app to read all applications and service principals without a signed-in user.
Example 3. Search for permissions with exact match
Find-EntraPermission -SearchString 'User.Read.All' -ExactMatch
PermissionType: Delegated
Id Consent Name Description
-- ------- ---- -----------
a154be20-db9c-4678-8ab7-66f6cc099a59 Admin User.Read.All Allows the app to read the full set of profile properties, reports, and ma…
PermissionType: Application
Id Consent Name Description
-- ------- ---- -----------
df021288-bdef-4463-88db-98f22de89214 Admin User.Read.All Allows the app to read user profiles without a signed in user.
This example demonstrates how to search for permissions that exactly match a specified permission name.
Example 4. Get all permissions of the specified type
Find-EntraPermission -PermissionType 'Delegated'
Id Consent Name Description
-- ------- ---- -----------
ebfcd32b-babb-40f4-a14b-42706e83bd28 Admin AccessReview.Read.All Allows the app to read access re…
e4aa47b9-9a69-4109-82ed-36ec70d85ff1 Admin AccessReview.ReadWrite.All Allows the app to read, update, …
5af8c3f5-baca-439a-97b0-ea58a435e269 Admin AccessReview.ReadWrite.Membership Allows the app to read,
This example shows how to get all permissions of a specified type, for example, Delegated
or Application
permissions.
Parameters
-All
Sets if the cmdlet returns all parameters.
Type: | System.Management.Automation.SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExactMatch
Sets if Search String should be an exact match.
Type: | System.Management.Automation.SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Online
Use the -Online parameter with -SearchString in Find-MgGraphPermission to fetch the latest permissions from Microsoft Graph before searching. This ensures Find-MgGraphPermission returns accurate results by including any new permissions added for recent APIs. The command uses the existing Microsoft Graph connection established by Connect-MgGraph. If your connection lacks permissions to access this data or if there’s no network connectivity, the command fails. Once updated, Find-MgGraphPermission will continue using the refreshed permission list for future searches, even without the -Online parameter.
Type: | System.Management.Automation.SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PermissionType
Specifies the type of Permission, for example, Delegated or Application.
Type: | System.String |
Position: | Named |
Default value: | Any |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ProgressAction
Specifics the progra option.
Type: | System.Management.Automation.SwitchParameter |
Aliases: | progra |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SearchString
Specifies the filter for the permissions, for example, domain and scope.
Type: | System.String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |