{"id":28,"date":"2022-09-25T20:17:38","date_gmt":"2022-09-25T20:17:38","guid":{"rendered":"http:\/\/nkascocom.nk\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/"},"modified":"2024-03-04T16:45:25","modified_gmt":"2024-03-04T21:45:25","slug":"2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2","status":"publish","type":"post","link":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/","title":{"rendered":"How to Authenticate to the Microsoft Graph API using PowerShell &#8211; Part 2 &#8211; Application Permissions"},"content":{"rendered":"\n<p>Now that you know you will have to use Application permissions the next logical step would be to identify what is the required setup based on HOW you will be authenticating.<\/p>\n\n\n\n<div class=\"sqs-html-content\">\n<p class=\"\" style=\"white-space: pre-wrap;\">If you&#8217;re using an <strong>Azure AD App Registration<\/strong>, head to the API Permissions blade of your Azure AD App Registration and select:<\/p>\n<ul data-rte-list=\"default\">\n<li>\n<p class=\"\" style=\"white-space: pre-wrap;\">Add Permission -&gt; Microsoft Graph -&gt; Application Permissions -&gt; Device.Read.All<\/p>\n<\/li>\n<li>\n<p class=\"\" style=\"white-space: pre-wrap;\"><em>Note: You may need to be a Global Administrator to consent for certain permission scopes.<\/em><\/p>\n<\/li>\n<\/ul>\n<p class=\"\" style=\"white-space: pre-wrap;\">For application permission scenarios see the table below to help guide you:<\/p>\n<\/div>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Authentication Experience<\/th><th>Method Used<\/th><th>Azure AD Requirements<\/th><\/tr><\/thead><tbody><tr><td>Non-Interactive<\/td><td>Certificate<\/td><td>There are several methods in which you can generate a certificate, one of which is using <a href=\"https:\/\/learn.microsoft.com\/en-us\/powershell\/module\/pki\/new-selfsignedcertificate?view=windowsserver2022-ps\">New-SelfSignedCertificate<\/a>. <b>The certificate should then be installed in your user&#8217;s trusted store on the machine where you&#8217;ll run the script.<\/b>\n<p>Back in your Azure AD App Registration:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Select Certificates &amp; secrets<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Under the Certificates tab -&gt; Select Upload certificate<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Browse to your certificate&#8217;s public key file and select Add.<\/p>\n<\/td><\/tr><tr><td>Non-Interactive<\/td><td>Client Secret (App Registrations Only)<\/td><td>On your new Azure AD App Registration navigate to:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Certificates &amp; secrets -&gt; Client Secrets tab -&gt; New client secret<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Enter description &amp; set the expiration date (<b>2 year maximum<\/b>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Click Add then store the secret ID and value in a secure location.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"sqs-html-content\">\n<p class=\"\" style=\"white-space: pre-wrap;\"><em>Note: The Microsoft Graph PowerShell module will soon work with <\/em><strong><em>Managed Identities <\/em><\/strong><em>once it hits v2, this guide will be updated at a later date to include this information. <\/em><\/p>\n<p class=\"\" style=\"white-space: pre-wrap;\"><em>Update 12\/24\/2022: Preview 2 for the new module is available here: <\/em><a href=\"https:\/\/github.com\/microsoftgraph\/msgraph-sdk-powershell\/releases\/tag\/2.0.0-preview2\"><em>https:\/\/github.com\/microsoftgraph\/msgraph-sdk-powershell\/releases\/tag\/2.0.0-preview2<\/em><\/a><\/p>\n<p class=\"\" style=\"white-space: pre-wrap;\">Read on to see code examples for each authentication experience\/method used\u2026<\/p>\n<h2 style=\"white-space: pre-wrap;\">Certificate Method &#8211; How To:<\/h2>\n<p class=\"\" style=\"white-space: pre-wrap;\">The certificate method for use with application permissions is very simple and straight forward from a code standpoint.<\/p>\n<\/div>\n\n\n\n<pre class=\"wp-block-preformatted\">#Specify Client and Tenant IDs\n$ClientID = \"(your client\/application id here)\"\n$TenantID = \"(your tenant id here)\"\n\n$CertName = \"(certificate name)\"\n\n#Connect to Graph\n#Note: Certificate, CertificateSubject, and CertificateThumbprint parameters are also available\nConnect-MgGraph -ClientID $ClientID -TenantId $TenantID -CertificateName $CertName<\/pre>\n\n\n\n<div class=\"sqs-html-content\">\n<h2 style=\"white-space: pre-wrap;\">Client Secret Method &#8211; How To:<\/h2>\n<p class=\"\" style=\"white-space: pre-wrap;\">The client secret method for use with application permissions is just 1 small extra step. Since the Microsoft.Graph PowerShell module doesn\u2019t currently provide a way to use client secrets, we can use the MSAL.PS module instead since it exposes this method of authentication.<\/p>\n<\/div>\n\n\n\n<pre class=\"wp-block-preformatted\">#Specify Client and Tenant IDs with Client Secret\n#Note: There are many ways to store\/retrieve client secrets\n#Encrypted key files, PowerShell Secrets Management Module, Azure Key Vault, etc.\n$ClientID = \"(your client id here)\"\n$TenantID = \"(your tenant id here)\"\n$ClientSecret = \"(your client secret here)\"\n$SecureSecret = $ClientSecret | ConvertTo-SecureString -AsPlainText -Force\n\n#Retrieve a token using MSAL.PS\n$AccessToken = Get-MsalToken -TenantId $TenantId -ClientId $ClientId -ClientSecret $SecureSecret\n\n#Pass the token we just retrieved into the Microsoft.Graph module\nConnect-MgGraph -AccessToken $AccessToken.AccessToken<\/pre>\n\n\n\n<div class=\"sqs-html-content\">\n<p class=\"\" style=\"white-space: pre-wrap;\">That\u2019s it! Once you\u2019ve authenticated you can use any of the available cmdlets within the Microsoft.Graph module provided you have access to it and the necessary permissions are in place.<\/p>\n<p class=\"\" style=\"white-space: pre-wrap;\">Once you\u2019ve retrieved everything you need, you can run the following command to disconnect from Graph:<\/p>\n<pre><code>Disconnect-MgGraph<\/code><\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Now that you know you will have to use Application permissions the next logical step would be to identify what is the required setup based on HOW you will be authenticating. If you&#8217;re using an Azure AD App Registration, head to the API Permissions blade of your Azure AD App Registration and select: Add Permission [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":29,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-28","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Authenticate to the Microsoft Graph API using PowerShell - Part 2 - Application Permissions - Nathan Kasco - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Authenticate to the Microsoft Graph API using PowerShell - Part 2 - Application Permissions - Nathan Kasco - Blog\" \/>\n<meta property=\"og:description\" content=\"Now that you know you will have to use Application permissions the next logical step would be to identify what is the required setup based on HOW you will be authenticating. If you&#8217;re using an Azure AD App Registration, head to the API Permissions blade of your Azure AD App Registration and select: Add Permission [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Nathan Kasco - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-25T20:17:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-04T21:45:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2022\/09\/graphapilogo-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"504\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nate Kasco\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Bu5yGiraffe\" \/>\n<meta name=\"twitter:site\" content=\"@Bu5yGiraffe\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nate Kasco\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/\"},\"author\":{\"name\":\"Nate Kasco\",\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/#\/schema\/person\/1dfd694a2ed094a43a37dc6882c65eb3\"},\"headline\":\"How to Authenticate to the Microsoft Graph API using PowerShell &#8211; Part 2 &#8211; Application Permissions\",\"datePublished\":\"2022-09-25T20:17:38+00:00\",\"dateModified\":\"2024-03-04T21:45:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/\"},\"wordCount\":469,\"publisher\":{\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/#\/schema\/person\/1dfd694a2ed094a43a37dc6882c65eb3\"},\"image\":{\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2022\/09\/graphapilogo-1.png\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/\",\"url\":\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/\",\"name\":\"How to Authenticate to the Microsoft Graph API using PowerShell - Part 2 - Application Permissions - Nathan Kasco - Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2022\/09\/graphapilogo-1.png\",\"datePublished\":\"2022-09-25T20:17:38+00:00\",\"dateModified\":\"2024-03-04T21:45:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#primaryimage\",\"url\":\"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2022\/09\/graphapilogo-1.png\",\"contentUrl\":\"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2022\/09\/graphapilogo-1.png\",\"width\":960,\"height\":504},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.nkasco.com\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Authenticate to the Microsoft Graph API using PowerShell &#8211; Part 2 &#8211; Application Permissions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/#website\",\"url\":\"https:\/\/blog.nkasco.com\/wordpress\/\",\"name\":\"Nathan Kasco - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/#\/schema\/person\/1dfd694a2ed094a43a37dc6882c65eb3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.nkasco.com\/wordpress\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/#\/schema\/person\/1dfd694a2ed094a43a37dc6882c65eb3\",\"name\":\"Nate Kasco\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2024\/03\/cropped-logo.png\",\"url\":\"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2024\/03\/cropped-logo.png\",\"contentUrl\":\"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2024\/03\/cropped-logo.png\",\"width\":200,\"height\":200,\"caption\":\"Nate Kasco\"},\"logo\":{\"@id\":\"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2024\/03\/cropped-logo.png\"},\"sameAs\":[\"http:\/\/nkascocom.nk\/wordpress\",\"https:\/\/x.com\/Bu5yGiraffe\"],\"url\":\"https:\/\/blog.nkasco.com\/wordpress\/index.php\/author\/nate\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Authenticate to the Microsoft Graph API using PowerShell - Part 2 - Application Permissions - Nathan Kasco - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/","og_locale":"en_US","og_type":"article","og_title":"How to Authenticate to the Microsoft Graph API using PowerShell - Part 2 - Application Permissions - Nathan Kasco - Blog","og_description":"Now that you know you will have to use Application permissions the next logical step would be to identify what is the required setup based on HOW you will be authenticating. If you&#8217;re using an Azure AD App Registration, head to the API Permissions blade of your Azure AD App Registration and select: Add Permission [&hellip;]","og_url":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/","og_site_name":"Nathan Kasco - Blog","article_published_time":"2022-09-25T20:17:38+00:00","article_modified_time":"2024-03-04T21:45:25+00:00","og_image":[{"width":960,"height":504,"url":"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2022\/09\/graphapilogo-1.png","type":"image\/png"}],"author":"Nate Kasco","twitter_card":"summary_large_image","twitter_creator":"@Bu5yGiraffe","twitter_site":"@Bu5yGiraffe","twitter_misc":{"Written by":"Nate Kasco","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#article","isPartOf":{"@id":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/"},"author":{"name":"Nate Kasco","@id":"https:\/\/blog.nkasco.com\/wordpress\/#\/schema\/person\/1dfd694a2ed094a43a37dc6882c65eb3"},"headline":"How to Authenticate to the Microsoft Graph API using PowerShell &#8211; Part 2 &#8211; Application Permissions","datePublished":"2022-09-25T20:17:38+00:00","dateModified":"2024-03-04T21:45:25+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/"},"wordCount":469,"publisher":{"@id":"https:\/\/blog.nkasco.com\/wordpress\/#\/schema\/person\/1dfd694a2ed094a43a37dc6882c65eb3"},"image":{"@id":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2022\/09\/graphapilogo-1.png","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/","url":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/","name":"How to Authenticate to the Microsoft Graph API using PowerShell - Part 2 - Application Permissions - Nathan Kasco - Blog","isPartOf":{"@id":"https:\/\/blog.nkasco.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#primaryimage"},"image":{"@id":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2022\/09\/graphapilogo-1.png","datePublished":"2022-09-25T20:17:38+00:00","dateModified":"2024-03-04T21:45:25+00:00","breadcrumb":{"@id":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#primaryimage","url":"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2022\/09\/graphapilogo-1.png","contentUrl":"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2022\/09\/graphapilogo-1.png","width":960,"height":504},{"@type":"BreadcrumbList","@id":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/2022\/09\/25\/2022-9-25-how-to-authenticate-to-the-microsoft-graph-api-using-powershell-application-permissions-part-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.nkasco.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"How to Authenticate to the Microsoft Graph API using PowerShell &#8211; Part 2 &#8211; Application Permissions"}]},{"@type":"WebSite","@id":"https:\/\/blog.nkasco.com\/wordpress\/#website","url":"https:\/\/blog.nkasco.com\/wordpress\/","name":"Nathan Kasco - Blog","description":"","publisher":{"@id":"https:\/\/blog.nkasco.com\/wordpress\/#\/schema\/person\/1dfd694a2ed094a43a37dc6882c65eb3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.nkasco.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/blog.nkasco.com\/wordpress\/#\/schema\/person\/1dfd694a2ed094a43a37dc6882c65eb3","name":"Nate Kasco","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2024\/03\/cropped-logo.png","url":"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2024\/03\/cropped-logo.png","contentUrl":"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2024\/03\/cropped-logo.png","width":200,"height":200,"caption":"Nate Kasco"},"logo":{"@id":"https:\/\/blog.nkasco.com\/wordpress\/wp-content\/uploads\/2024\/03\/cropped-logo.png"},"sameAs":["http:\/\/nkascocom.nk\/wordpress","https:\/\/x.com\/Bu5yGiraffe"],"url":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/author\/nate\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/28","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=28"}],"version-history":[{"count":1,"href":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/28\/revisions"}],"predecessor-version":[{"id":109,"href":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/28\/revisions\/109"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/wp-json\/wp\/v2\/media\/29"}],"wp:attachment":[{"href":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=28"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=28"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nkasco.com\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}