• Stars
    star
    651
  • Rank 66,521 (Top 2 %)
  • Language
    C#
  • License
    Other
  • Created about 5 years ago
  • Updated 28 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Powershell SDK for Microsoft Graph

Microsoft Graph PowerShell
Microsoft Graph PowerShell

Consume Microsoft Graph resources directly from your PowerShell scripts

API Documentation | SDK Documentation

The Microsoft Graph PowerShell SDK is made up of a set of modules that enable you to interact with the Microsoft Graph API using PowerShell commands. The modules consist of commands that act as wrappers for the API, allowing you to access all the features and functionality of the API through PowerShell.

Modules | Getting Started | API Version | Notes | Troubleshooting | Known Issues | Feedback | License

Modules

The table below contains links to our latest and preview versions of the Microsoft Graph module. The meta modules will install all the service modules as their dependencies.

Module Latest Preview
Microsoft.Graph mg -
Microsoft.Graph.Beta mgbeta -

See Microsoft Graph PowerShell modules for a list of all modules supported by this repository.

Getting Started

1. Installation

Microsoft Graph PowerShell module is published on PowerShell Gallery. Installing is as simple as:

Install-Module Microsoft.Graph

Run Install-Module with -AllowClobber and -Force parameters if you run into command name conflicts when upgrading to older versions of the module. This may be the case when upgrading from v1.x to v2.x:

Install-Module Microsoft.Graph -AllowClobber -Force

See Install the Microsoft Graph PowerShell Module guide for detailed installation instructions.

2. Authentication

The module supports two main types of authentication:

Delegated access

Get access to Microsoft Graph resources on behalf of a user.

# Using interactive authentication.
Connect-MgGraph -Scopes "User.ReadBasic.All", "Application.ReadWrite.All"

App-only access (client credentials grant flow)

Get access to Microsoft Graph resources using the identity on an app and not on behalf of a user.

# Using -CertificateThumbprint
Connect-MgGraph -ClientId "YOUR_APP_ID" -TenantId "YOUR_TENANT_ID" -CertificateThumbprint "YOUR_CERT_THUMBPRINT"

See Authentication for more information on the usage of Connect-MgGraph.

3. List users in your tenant

Get-MgUser -Top 10 -Property Id, DisplayName, BusinessPhones | Format-Table Id, DisplayName, BusinessPhones

4. Filter a user in your tenant

$User = Get-MgUser -Filter "displayName eq 'Megan Bowen'"

5. Create a new app registration

New-MgApplication -DisplayName "ScriptedGraphPSApp" `
                  -SignInAudience "AzureADMyOrg" `
                  -Web @{ RedirectUris = "https://localhost"}

6. Sign out of the current logged-in context i.e. app only or delegated access

Disconnect-MgGraph

API Version

Install Microsoft.Graph.Beta module to commands that call Microsoft Graph Beta API endpoint.

Install-Module Microsoft.Graph.Beta
# Consume Microsoft Graph beta resources.
Connect-MgGraph
$Users = Get-MgBetaUser

Notes

Upgrading to v2

The following breaking changes have been introduced between v1.x and v2.x:

  • Dropped profile support.
  • Dropped support for -ForceRefresh on Connect-MgGraph.
  • Renamed beta command names from <Verb>-Mg<Noun> to <Verb>-MgBeta<Noun>.
  • Renamed DeviceManagement.Enrolment module to DeviceManagement.Enrollment.
  • Moved directory role and entitlement management commands from DeviceManagement.Enrollment to Identity.Governance module.
  • Changed beta namespace from Microsoft.Graph.PowerShell.Models.<Entity> to Microsoft.Graph.Beta.PowerShell.Models.<Entity>.
  • Changed -AccessToken type on Connect-MgGraph from String to SecureString.

See the v2 upgrade guide for more details.

Troubleshooting

Permission Related Errors

When working with various operations in the Graph, you may encounter an error such as "Insufficient privileges to complete the operation." For example, this particular error can occur when using the New-MgApplication command if the appropriate permissions are not granted.

If permission-related errors occur and the signed-in user/app has been granted the appropriate permissions to perform the operation, you can explicitly fetch a new access token by running Disconnect-MgGraph, then Connect-MgGraph. This will trigger a refresh of the access token in your cache. Microsoft Authentication Library (MSAL) will only refresh access tokens in your cache if they have expired (usually an hour).

See Microsoft Graph API Permissions Reference for more details.

Common Errors

See our troubleshooting guide for a detailed view of how to troubleshoot common errors when using Microsoft Graph.

Known Issues

  • Using the -Property {PropertyName} parameter will not select the property as the output of the command. All commands return CLR objects, and customers should pipe the command outputs to Format-Table or Select-Object to return individual properties.

  • Customers upgrading from previous versions of the SDK may encounter auth prompts on every command call. If this happens, one can use the following steps to reset their token cache:

    • Use Disconnect-MgGraph to sign out of the current session.
    • Run Remove-Item "$env:USERPROFILE\.mg" -Recurse -Force to delete your token cache.
    • Run Connect-MgGraph to reconstruct a clean token cache.

Feedback

If you find any bugs when using the Microsoft Graph PowerShell modules, please file an issue on our GitHub issues page.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

License

Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT license.

More Repositories

1

powershell-intune-samples

This repository of PowerShell sample scripts show how to access Intune service resources. They demonstrate this by making HTTPS RESTful API requests to the Microsoft Graph API from PowerShell.
PowerShell
1,225
star
2

microsoft-graph-docs

Documentation for the Microsoft Graph REST API
PowerShell
1,212
star
3

microsoft-graph-toolkit

Authentication Providers and UI components for Microsoft Graph 🦒
TypeScript
899
star
4

msgraph-sdk-javascript

Microsoft Graph client library for JavaScript
TypeScript
664
star
5

msgraph-sdk-dotnet

Microsoft Graph Client Library for .NET!
C#
644
star
6

msgraph-sdk-php

Microsoft Graph Library for PHP.
PHP
484
star
7

msgraph-sdk-java

Microsoft Graph SDK for Java
Java
353
star
8

msgraph-sdk-python

Python
280
star
9

microsoftgraph-postman-collections

253
star
10

msgraph-sdk-python-core

Microsoft Graph client library for Python
Python
252
star
11

security-api-solutions

Microsoft Graph Security API applications and services.
Jupyter Notebook
208
star
12

msgraph-sdk-go

Microsoft Graph SDK for Go
Go
196
star
13

microsoft-graph-explorer-v4

React/Redux version of Graph Explorer used to learn the Microsoft Graph Api
TypeScript
196
star
14

microsoft-graph-comms-samples

Microsoft Graph Communications Samples
196
star
15

aspnet-snippets-sample

A repository of code snippets that use Microsoft Graph to perform common tasks such as sending email, managing groups, and other activities from an ASP.NET Core MVC app. This sample uses the Microsoft Graph .NET Client Library to work with data, and the Microsoft Identity Web Library for authentication on the Microsoft identity platform v2.0 endpoint.
C#
177
star
16

msgraph-sample-nodeexpressapp

This sample demonstrates how to use the Microsoft Graph JavaScript SDK to access data in Office 365 from Node.js Express apps.
JavaScript
158
star
17

msgraph-sdk-dotnet-core

The core Microsoft Graph client library for .Net. (Microsoft.Graph.Core)
C#
138
star
18

python-sample-auth

Please see https://github.com/microsoftgraph/msgraph-training-pythondjangoapp for a Python sample.
Python
136
star
19

microsoft-graph-explorer

We've moved! You can contribute to our new repository here
TypeScript
136
star
20

msgraph-sample-phpapp

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from PHP web apps.
PHP
133
star
21

nodejs-webhooks-sample

Create Microsoft Graph webhook subscriptions for a Node.js app, so that it can receive notifications of changes in a user’s Microsoft account data.
JavaScript
128
star
22

msgraph-sample-pythondjangoapp

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from Python web apps.
Python
123
star
23

aspnetcore-connect-sample

[ARCHIVED] This ASP.NET Core MVC sample shows how to connect to Microsoft Graph using delegated permissions and the Azure AD v2.0 (MSAL) endpoint.
C#
123
star
24

aspnetcore-webhooks-sample

This sample shows how to subscribe for Microsoft Graph webhooks using application (app-only) permissions and the Azure AD endpoint.
C#
117
star
25

msgraph-sample-reactspa

This sample demonstrates how to use the Microsoft Graph JavaScript SDK to access data in Office 365 from React browser apps.
TypeScript
115
star
26

csharp-teams-sample-graph

[ARCHIVED] Sample apps (C# and node) for accessing Microsoft Teams data via the Microsoft Graph
JavaScript
115
star
27

msgraph-training-dotnet

Microsoft Graph Training Module - Build .NET apps with Microsoft Graph
C#
107
star
28

python3-connect-rest-sample

[ARCHIVED] This sample shows how to connect your Python web app to Office 365 using Microsoft Graph to send an email.
Python
106
star
29

nodejs-connect-rest-sample

[ARCHIVED] Use Microsoft Graph to access a user’s Microsoft account data from within a Node.js web application. This sample sends REST calls directly to the Microsoft Graph endpoint, and authenticates with the Azure AD v2.0 endpoint to support Microsoft Accounts and work or school accounts.
JavaScript
100
star
30

msgraph-typescript-typings

Microsoft Graph TypeScript Type Definitions
PowerShell
99
star
31

MSGraph-SDK-Code-Generator

MSGraph SDK Code Generator
C#
88
star
32

msgraph-training-aspnetmvcapp

Microsoft Graph Training Module - Build MVC apps with Microsoft Graph
88
star
33

msgraph-metadata

Microsoft Graph metadata captured and used for generating client library code files.
XSLT
87
star
34

msgraph-beta-sdk-dotnet

The Microsoft Graph Client Beta Library for .NET supports the Microsoft Graph /beta endpoint. (preview)
C#
86
star
35

microsoft-graph-devx-api

Services API for Graph Explorer
C#
84
star
36

msgraph-sdk-ruby

Microsoft Graph Ruby client library for v1 APIs
Ruby
83
star
37

dotnetcore-console-sample

.Net Core console application for calling Microsoft Graph. Sample built from scratch.
C#
83
star
38

python-security-rest-sample

This sample shows how to connect your Python web app to the Security API using Microsoft Graph.
HTML
79
star
39

30DaysMSGraph-TryItOut

This repo contains the Try It Out samples from the 30 Days of Microsoft Graph blog series (https://aka.ms/30DaysMSGraph).
C#
78
star
40

php-connect-rest-sample

[ARCHIVED] Use Microsoft Graph to access a user’s Microsoft account data from within a php web application. This sample gets OAuth tokens from the Azure AD v2.0 endpoint and uses REST calls directly to Microsoft Graph.
PHP
78
star
41

msgraph-sdk-dotnet-auth

Archived - use the TokenCredential classes provided by Azure.Identity. https://docs.microsoft.com/en-us/dotnet/api/overview/azure/identity-readme
C#
78
star
42

msgraph-cli

CLI tool for Microsoft Graph based on .NET
C#
77
star
43

graphql-demo

[ARCHIVED] GraphQL for Microsoft Graph
JavaScript
77
star
44

msgraph-sample-rubyrailsapp

This sample demonstrates how to use the Microsoft Graph REST API to access data in Office 365 from Ruby on Rails apps.
Ruby
76
star
45

msgraph-sdk-design

Requirements and design documents for Microsoft Graph SDKs
SCSS
70
star
46

python-sample-console-app

Please see https://github.com/microsoftgraph/msgraph-training-pythondjangoapp for a Python sample.
Python
66
star
47

contoso-airlines-teams-sample

JavaScript
65
star
48

aspnet-connect-rest-sample

[ARCHIVED] This ASP.NET MVC sample shows how to connect to Microsoft Graph and use the API to send an email.
C#
63
star
49

msgraph-sample-angularspa

This sample demonstrates how to use the Microsoft Graph JavaScript SDK to access data in Office 365 from Angular single-page applications.
TypeScript
62
star
50

aspnet-security-api-sample

This sample shows how to connect your ASP .Net web app to the Security API using Microsoft Graph SDK.
JavaScript
59
star
51

msgraph-sample-aspnet-core

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from ASP.NET Core apps.
C#
57
star
52

aspnet-connect-sample

[ARCHIVED] This walkthrough shows you how to use the Office 365 Connected Services in Visual Studio 2017.
C#
54
star
53

msgraph-community-samples

Repo for community contributed samples
53
star
54

php-connect-sample

[ARCHIVED] Use Microsoft Graph to access a user’s Microsoft account data from within a PHP web application. This sample gets OAuth tokens from the Azure AD v2.0 endpoint and connects it to the Microsoft Graph SDK for PHP.
PHP
52
star
55

msgraph-sdk-android

Microsoft Graph SDK for Android! https://graph.microsoft.io
Java
51
star
56

msgraph-training-changenotifications

50
star
57

msgraph-training-python

Completed project for Build Python apps with Microsoft Graph
Python
50
star
58

msgraph-training-authentication

[ARCHIVED] Microsoft Graph Training Module - Authentication
49
star
59

msgraph-training-java

Microsoft Graph Training Module - Build Java apps with Microsoft Graph
Java
49
star
60

msgraph-sdk-java-core

Microsoft Graph SDK for Java - Core Library
Java
49
star
61

angular-connect-rest-sample

[ARCHIVED] Use Microsoft Graph to access a user’s Microsoft account data from within an AngularJS web application. This sample uses REST calls directly to the Microsoft Graph endpoint and authenticates users with Microsoft Accounts or work or school Office 365 accounts.
JavaScript
48
star
62

nodejs-apponlytoken-rest-sample

[ARCHIVED] This sample shows how to connect a service or daemon app (written in Node.js) to the Microsoft Graph API.
JavaScript
47
star
63

msgraph-cli-archived

The Microsoft Graph CLI repository has moved. This repository is now an archive.
Python
44
star
64

dataconnect-solutions

Microsoft Graph Data Connect enables scaled access to Microsoft 365 data with fine grained consent model, integrated with compliance and governance, to enable analytics and big data applications on the largest productivity platform.
Jupyter Notebook
44
star
65

msgraph-sample-azurefunction-csharp

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from Azure Functions.
C#
43
star
66

group-membership-management

Group Membership Management (GMM) is a service that dynamically manages the membership of AAD Groups. Groups managed by GMM can have their membership defined using existing AAD Groups and/or custom membership sources.
C#
43
star
67

aspnet-webhooks-rest-sample

Webhooks in Microsoft Graph notify your web application about changes in user data. You can create a webhook subscription to get notified about changes in user's data. This sample uses the Azure AD endpoint to obtain an access token for work or school accounts.
JavaScript
42
star
68

msgraph-sample-react-native

This sample demonstrates how to use the Microsoft Graph JavaScript SDK to access data in Office 365 from React Native mobile apps.
TypeScript
42
star
69

xamarin-csharp-propertymanager-sample

[ARCHIVED] Demonstrates how to use the Microsoft Graph as the only back-end component for a complete property management solution.
C#
38
star
70

java-spring-webhooks-sample

Receive change notifications with data with the Microsoft Graph
Java
37
star
71

msgraph-sdk-objc

Microsoft Graph SDK for Objective-C
Objective-C
37
star
72

msgraph-search-connector-sample

This .NET Core application shows how to use the Microsoft Graph indexing API to create a connection to the Microsoft Search service and index custom items.
C#
37
star
73

msgraph-sample-android

This sample demonstrates how to use the Microsoft Graph Java SDK to access data in Office 365 from native mobile Android applications.
Java
37
star
74

console-csharp-connect-sample

[ARCHIVED] This sample shows how to connect a Windows console application to a Microsoft work or school (Azure Active Directory) or personal (Microsoft) account using the Microsoft Graph API to send an email.
C#
36
star
75

angular2-connect-rest-sample

[ARCHIVED] To see a current sample that demonstrates the concepts explained here, visit https://github.com/microsoftgraph/angular4-connect-sample
TypeScript
35
star
76

msgraph-sample-spfx

This sample demonstrates how to use the Microsoft Graph JavaScript SDK to access data in Office 365 from SharePoint Framework (SPFX) applications.
JavaScript
34
star
77

msgraph-sdk-java-auth

Authentication Providers for Microsoft Graph Java SDK
Java
34
star
78

ruby-connect-rest-sample

[ARCHIVED] Use Microsoft Graph to access a user’s Microsoft account resources from within a Ruby on Rails web application. This sample uses REST calls directly to Microsoft Graph, and uses the Azure AD v2.0 endpoint for authentication of users' work or school Office 365 accounts.
Ruby
34
star
79

meetings-capture-sample

A Microsoft Teams solution that helps teams capture meeting minute notes inside individual channels
HTML
33
star
80

microsoft-graph-docs-contrib

Documentation for the Microsoft Graph REST API
PowerShell
32
star
81

msgraph-sdk-dotnet-contrib

Community contributed extensions to the Microsoft Graph .NET SDK service library, to support APIs that have not yet made it into Microsoft Graph
C#
32
star
82

msgraph-sample-uwp

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from UWP apps.
C#
30
star
83

contoso-airlines-azure-functions-sample

[ARCHIVED]
C#
29
star
84

msgraph-samples-dashboard

Dashboard for msgraph samples
C#
29
star
85

botframework-csharp-excelbot-rest-sample

[ARCHIVED] Excel Bot is a bot built with the Microsoft Bot Framework that demonstrates how to use Excel with the Microsoft Graph API
C#
29
star
86

msgraph-sample-maui

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from .NET MAUI apps.
C#
28
star
87

msgraph-training-building-apps

[ARCHIVED] Microsoft Graph Training Module - Building Apps
28
star
88

uwp-csharp-connect-sample

[ARCHIVED] This sample shows how to connect your Windows 10 Universal app to Office 365 using the Microsoft Graph .NET client library to send an email.
C#
28
star
89

uwp-csharp-snippets-sample

[ARCHIVED] This sample shows how to use the Microsoft Graph SDK to send email, manage groups, and perform other activities with Office 365 data.
C#
26
star
90

python-sample-send-mail

[ARCHIVED] send email from Python via Microsoft Graph
Python
26
star
91

msgraph-sdk-ios

[ARCHIVED] Microsoft Graph SDK for iOS
Objective-C
24
star
92

react-officeuifabric-sample

[ARCHIVED] This sample demonstrates how to populate Office UI Fabric React components with data retrieved from Microsoft Graph.
JavaScript
24
star
93

msgraph-training-powerautomate

Microsoft Graph Training Module - Create a Microsoft Graph JSON Batch Custom Connector for Microsoft Power Automate & Azure Logic Apps
23
star
94

msgraph-sample-javascriptspa

This sample demonstrates how to use the Microsoft Graph JavaScript SDK to access data in Office 365 from JavaScript browser apps.
JavaScript
23
star
95

msgraph-sample-blazor-clientside

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from Blazor WebAssembly apps.
HTML
23
star
96

msgraph-training-dataconnect

22
star
97

aspnet-todo-rest-sample

This sample shows how to read and write into an Excel document stored in your OneDrive for Business account by using the Excel REST APIs.
C#
22
star
98

android-java-snippets-sample

Code snippets that use the Microsoft Graph to perform common tasks, such as sending email or managing groups, from within an Android app. This sample uses the Microsoft Graph Client Library to work with the data, and the Microsoft Authentication Library (MSAL) for authentication of users' work or school Office 365 accounts and personal accounts.
Java
22
star
99

msgraph-sdk-raptor

End to end testing tool for verifying generated code snippets and testing against Graph APIs
C#
21
star
100

console-java-connect-sample

Please see https://github.com/microsoftgraph/msgraph-training-java for a Java sample.
Java
21
star