Skip Ribbon Commands
Skip to main content

Quick Launch

Todd Klindt's home page > Todd Klindt's Office 365 Admin Blog > Posts > Calling Microsoft Graph with PnP PowerShell
April 15
Calling Microsoft Graph with PnP PowerShell

As an M365 Admin it’s not tough to see that the future is hidden somewhere in the Microsoft Graph. And this particular M365 Admin would like to get there using his favorite tool, PowerShell. Microsoft released the Graph SDK, but it didn’t really scratch the itch for me. I found it confusing and really tough to use. But, as much as I ignored it, the Graph didn’t go away. With increased frequency there would be some little tidbit of information I’d want and the answer would be, “It’s in the Graph.” Grrrrr.

I was poking the M365 PnP Samples and stumbled across this little gem, Authenticate with and call the Microsoft Graph. That looked promising, I can work with that. I fired up PowerShell, loaded the PnP.PowerShell, fired up the Graph Explorer and started working.

It went well enough that I wrote a little wrapper function around it and published it to GitHub. It’s called Get-TKPnPGraphURI and it looks like this:

image

Get-TKPnPGraphURI -uri https://graph.microsoft.com/v1.0/me/

Get-TKPnPGraphURI -uri https://graph.microsoft.com/v1.0/users | select displayName,userPrincipalName,id

It uses PnP.PowerShell, so you’ll need that module installed, and you’ll need to connect with Connect-PnPOnline. From there you can pass it any Graph endpoint, v1.0 or beta. You can find out what the endpoints are at the Graph Explorer.  Right now this only supports Gets. You’ll also have to manually put in any parameters or filters. I’ve added help and examples. I hope to expand them both in the future.

The output is a stand PSCustomObject, so you can send its output down the pipeline however you’d like. Select-Object, Where-Object, Sort-Object, the world is your oyster.

Let me know if this is useful and what you’re doing with it.

tk

ShortURL: https://www.toddklindt.com/PoshMSGraph

Comments

Bot blocker

Too bad the comment bots can't be blocked. ;(
 on 6/10/2022 3:16 PM

Microsoft

I was looking for types of referencing style and found a team of experts who helped me out and gave me quality work, their link is given below. PnP PowerShell is a . NET Core 3.1 / . NET Framework 4.6. 1 based PowerShell Module providing over 600 cmdlets that work with Microsoft 365 environments such as SharePoint Online, Microsoft Teams, Microsoft Project, Security & Compliance, Azure Active Directory, and more.
 on 7/8/2022 2:17 AM

Re: Calling Microsoft Graph with PnP PowerShell

Interesting perspective on navigating the Microsoft Graph with PowerShell! I agree, the Graph SDK can feel clunky. Sometimes, wrestling with it feels like surviving a night in <a href="https://fnaf.one/">Fnaf</a> - complex and full of unexpected jumpscares. Perhaps sharing specific PowerShell scripts for common tasks could help others overcome the initial hurdle and unlock the Graph's full potential. I'd be interested in seeing examples!

 on 3/14/2025 10:35 PM

Add Comment

Items on this list require content approval. Your submission will not appear in public views until approved by someone with proper rights. More information on content approval.

Title


Body *


Today's date *

Select a date from the calendar.
Please enter today's date so I know you are a real person

Twitter


Want a message when I reply to your comment? Put your Twitter handle here.

Attachments

 

 SysKit