PowerShell SDK for automating the Microsoft Graph

Minimum PowerShell version


Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name autographps-sdk -RequiredVersion 0.21.1

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More


Adam Edwards


(c) 2020 Adam Edwards.

Package Details



MSGraph Graph AADGraph Azure MicrosoftGraph Microsoft-Graph MS-Graph AAD-Graph REST CRUD GraphAPI poshgraph poshgraph-sdk autograph Windows Linux MacOS


Clear-GraphLog Connect-Graph Disconnect-Graph Find-GraphLocalCertificate Format-GraphLog Get-GraphApplication Get-GraphApplicationCertificate Get-GraphApplicationConsent Get-GraphApplicationServicePrincipal Get-GraphConnectionInfo Get-GraphError Get-GraphResource Get-GraphLog Get-GraphLogOption Get-GraphToken Invoke-GraphRequest New-GraphApplication New-GraphApplicationCertificate New-GraphConnection New-GraphLocalCertificate Register-GraphApplication Remove-GraphApplication Remove-GraphApplicationCertificate Remove-GraphApplicationConsent Remove-GraphItem Set-GraphApplicationConsent Set-GraphConnectionStatus Set-GraphLogOption Test-Graph Unregister-GraphApplication


Core Desktop


Release Notes

## AutoGraphPS-SDK 0.20.0 Release Notes

This release includes improvements to existing commands and important fixes for major regressions in the previous release.

### New dependencies

* Microsoft.Identity.Client (MSAL) 4.14.0
* Microsoft.IdentityModel.Clients.ActiveDirectory (ADAL) 5.2.7
* `platyPS 0.14.0` (optional): Tool-only dependency. Currently only required during CI.

### Breaking changes

* The object pipeline is now explicitly supported by the `Invoke-GraphRequest` and `Get-GraphResource` commands -- graph URI's may be supplied to the pipeline and the commands will retrieve results for each URI. This may have subtle behavior differences from the previous implementation which modeled the Uri parameter as an array -- it is now a scalar object with multiple URIs available only from the pipeline and not by passing an array of URIs for the URI parameter.

### New features

* The `Get-GraphResource` command's `Select` parameter has been renamed to `Property` to be consistent with related commands in `AutoGraphPS`. However the command retains a `Select` alias for compatibility with the original parameter name and to support users accustomed to the Graph terminology for projection of a record's fields.
* The `Property` parameter (aka `Select` per above) is now the second positional parameter and `Filter` is no longer a positional parameter. Now you can use an invocation such as `Get-GraphResource me id, displayName` to get only specific properties. This change is made in part because `Filter` is seen as a less common and more advanced use case due to the need to know OData syntax. This is also consistent with other commands in related modules such as `AutoGraphPS` where `Property` is a positional parameter and `Filter` is not.
# The `Invoke-GraphRequest` and `Get-GraphResource` commands have a `NoRequest` parameter that simply returns information about the request that would be made by the command rather than issuing the request.

### Fixed defects

* The AAD Application-related commands including `Get-GraphApplication`, `New-GraphApplication`, and `Remove-GraphApplication` commands were unusable due to a breaking change to parameter names in the `0.19.0` release of this module for the `Invoke-GraphRequest` command. This release includes the fix. The affected commands were:

   * `Get-GraphApplication`
   * `Get-GraphApplicationCertificate`
   * `Get-GraphApplicationConsent`
   * `Get-GraphApplicationServicePrincipal`
   * `New-GraphApplication`
   * `New-GraphApplicationCertificate`
   * `Register-GraphApplication`
   * `Remove-GraphApplication`
   * `Remove-GraphApplicationCertificate`
   * `Remove-GraphApplicationConsent`
   * `Set-GraphApplicationConsent`
   * `Unregister-GraphApplication`

* The `Invoke-GraphRequest` and `Get-GraphResource` commands incorrectly handled the `Expand` parameter in cases where the syntax `-Expand:$false` was used -- instead of being correctly interpreted as the parameter not being specified, it was treated as if it had been expressed `-Expand`, resulting in invalid queries to Graph. This is now fixed.
* The `Descending` parameter of `Invoke-GraphRequest` and `Get-GraphResource` was ignored in the mainstream case of the `OrderBy` parameter not being hash table. This has been fixed.
* The `Skip` parameter on `Invoke-GraphRequest` and `Get-GraphResource` would generate an incorrect URI when used resulting in a `BadRequest` response from Graph -- `Skip` was unusable. This issue has been fixed.



Version History

Version Downloads Last updated
0.30.0 106 2/19/2023
0.29.0 721 12/30/2021
0.28.0 553 10/12/2021
0.27.0 549 6/13/2021
0.26.1 463 5/5/2021
0.26.0 432 5/4/2021
0.25.0 452 2/27/2021
0.24.0 584 9/26/2020
0.23.0 388 9/26/2020
0.22.0 434 9/8/2020
0.21.1 (current version) 589 6/20/2020
0.21.0 478 5/24/2020
0.20.0 786 4/19/2020
0.19.0 618 4/12/2020
0.18.0 1,159 2/8/2020
0.17.0 619 1/29/2020
0.16.0 713 11/6/2019
0.15.0 447 10/24/2019
0.14.0 411 10/23/2019
0.13.0 420 10/16/2019
0.12.0 415 10/7/2019
0.11.1 483 9/23/2019
0.11.0 395 9/20/2019
0.10.0 590 3/18/2019
0.9.0 626 2/3/2019
0.8.1 411 1/19/2019
0.8.0 409 1/13/2019
0.7.1 417 1/8/2019
0.7.0 401 1/8/2019
0.6.2 407 1/6/2019
0.6.1 404 1/5/2019
0.6.0 407 1/2/2019
0.5.1 452 10/30/2018
0.5.0 452 9/30/2018
0.4.0 426 9/15/2018
Show less