Skip to content

Find-MgmtGraphPermission

MgmtGraph: Searches for Microsoft Graph API permissions and scopes

#Requires -Version 5.1
#Requires -Modules Microsoft.Graph.Authentication

[CmdletBinding()]
Param (
    [switch]$Online,

    [ValidateSet('Any', 'Application', 'Delegated')]
    [string]$PermissionType = "Any"
)

Process {
    try {
        $params = @{
            'ErrorAction' = 'Stop'
        }

        if ($Online) { $params.Add('Online', $true) }
        if ($PermissionType -ne "Any") { $params.Add('PermissionType', $PermissionType) }

        $permissions = Find-MgGraphPermission @params
        
        $results = foreach ($perm in $permissions) {
            [PSCustomObject]@{
                Name        = $perm.Name
                Description = $perm.Description
                IsAdmin     = $perm.IsAdmin
                PermissionType = $perm.PermissionType
                Timestamp   = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
            }
        }

        Write-Output ($results | Sort-Object Name)
    }
    catch {
        throw
    }
}
Off

If set, searches for permissions online to ensure the latest information is retrieved.

Optional. Filters permissions by type (Delegated, Application, or Any).

An interactive directory of PowerShell scripts.