msgraph-sdk-powershell icon indicating copy to clipboard operation
msgraph-sdk-powershell copied to clipboard

Additional examples for creating a new application: New-MgApplication

Open sun-god-gear opened this issue 5 months ago • 2 comments

Is your feature request related to a problem? Please describe the problem.

Some of the documentation lacks clarity and could use additional examples. For instance, the New-MgApplication documentation page contains one example but accepts close to 55 parameters. While it's impractical to add an example for each one of them, the documentation could use a couple of more examples. The notes section shows what properties each of them should contain so to expand on a couple of them and demonstrate would be helpful

Describe the solution you'd like.

The documentation could be updated with the following examples:

Example 1: Create a new application with web settings

New-MgApplication -DisplayName "New app" -Web @{
            ImplicitGrantSettings = @{
                EnableAccessTokenIssuance = $true
                EnableIdTokenIssuance     = $true
            }
            RedirectUris = "http://localhost.com"
        }

The above example creates a new application with both access tokens and Id tokens to be issued. Additionally, it also sets the redirect uri for the app registration to redirect to after successful authentication

Example 2: Create a new application with access to specified resources

Step1: Create a JSON representation of the required resources

$RequiredResource= @'[
        {
            "ResourceAppId": "00000003-0000-0000-c000-000000000000",
            "ResourceAccess": [
                {
                    "Id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
                    "Type": "Scope"
                },
                {
                    "Id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
                    "Type": "Role"
                }
            ]
        },
        {
            "ResourceAppId": "00000002-0000-0000-c000-000000000000",
            "ResourceAccess": [
                {
                    "Id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
                    "Type": "Scope"
                }
            ]
        }
    ]'@

Step 2: Read the JSON object

$RequiredResourceAccess = @(
$RequiredResource | ForEach-Object {
                @{
                    ResourceAppId  = $_.ResourceAppId
                    ResourceAccess = @(
                        $_.ResourceAccess | ForEach-Object {
                            @{
                                Id   = $_.Id
                                Type = $_.Type
                            }
                        }
                    )
                }
            })

Step 3: Create the application

New-MgApplication -DisplayName $AppRegistrationName -RequiredResourceAccess $RequiredResourceAccess

The above example allows for creation of an app registration with access to several required resources and permissions

Additional context?

No response

sun-god-gear avatar Jul 24 '25 15:07 sun-god-gear

@sun-god-gear Assuming you mean this page? https://learn.microsoft.com/en-us/powershell/module/microsoft.graph.applications/new-mgapplication?view=graph-powershell-1.0

We need to investigate how we can extend the generated documentation here.

gavinbarron avatar Nov 10 '25 21:11 gavinbarron

@gavinbarron Yes, I was referring to that page

sun-god-gear avatar Nov 10 '25 21:11 sun-god-gear