Microsoft.Graph.API module for PowerShell

Microsoft.Graph.API module

WARNING: The module is still under construction. Please leave feedback @ Github or in a comment below the post.

Microsoft Graph REST API is much quicker than a standard module. Especially for bulk changes and reports, but you can also use it to see the properties of a user.

There are several modules available that will get in to the Microsoft Graph REST API, but almost all of these have each (Report) query custom made in a cmdlet.

With the module I created I wanted to create cmdlets where everything is the same except for the URL you’re querying to.

As soon as Microsoft came out with an API we started using this for bulk updates, or getting reports, but every time I had to use it, I’d just copy the function from a different script, made some updates and used it again. The biggest problem I had with this was that every function I used in scheduled scripts overtime was different.

I’ve added the functions into a module including login cmdlets to keep a session open with the API, so I can continue my work without constantly having to log back in after the oauth token expired.

Below you can read more about the cmdlets in the module. I will soon update Github.


This is the first module I published. I’m looking for as much feedback as possible. Not only for the module specific, but also for my own development.

So please do not withhold critical feedback.

More about Microsoft Graph and PowerShell.

I am working on new blog posts related to Microsoft Graph with PowerShell. For more about this, it is best to read the blog: A Summary about Microsft Graph and PowerShell.

If you want to know how to start with Microsoft Grah REST API, please go to this blog post: How to start with Microsoft Graph reports in PowerShell.

Microsoft.Graph.API Cmdlets

Below I explain per cmdlet what it does and the prepared work that is needed before you can run the cmdlet this is including examples.

Leave a Reply

Your email address will not be published. Required fields are marked *