PowerShell SDK for Microsoft Graph automation

Minimum PowerShell version


Installation Options

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

Install-Module -Name autographps-sdk

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) 2021 Adam Edwards.



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


Clear-GraphLog Connect-GraphApi Disconnect-GraphApi Find-GraphLocalCertificate Format-GraphLog Get-GraphApplication Get-GraphApplicationCertificate Get-GraphApplicationConsent Get-GraphApplicationServicePrincipal Get-GraphConnection Get-GraphCurrentConnection Get-GraphError Get-GraphResource Get-GraphLog Get-GraphLogOption Get-GraphProfile Get-GraphToken Invoke-GraphApiRequest New-GraphApplication New-GraphApplicationCertificate New-GraphConnection New-GraphLocalCertificate Register-GraphApplication Remove-GraphApplication Remove-GraphApplicationCertificate Remove-GraphApplicationConsent Remove-GraphConnection Remove-GraphResource Select-GraphConnection Select-GraphProfile Set-GraphApplicationCertificate Set-GraphApplicationConsent Set-GraphConnectionStatus Set-GraphLogOption Test-Graph Unregister-GraphApplication


Core Desktop


Release Notes

## AutoGraphPS-SDK 0.27.0 Release Notes

This release adds fixes for defects identified in 0.26.1 as well as new features related to application certificate management

### New dependencies


### Breaking changes

* `Get-GraphConnectionInfo` has been renamed to `Get-GraphCurrentConnection`
* `Get-GraphProfileSettings` renamed to `Get-GraphProfile`
* `Select-GraphProfileSettings` renamed to `Select-GraphProfile`
* `Get-GraphError` parameters have changed or been removed
* Certificate generation is no longer automatic for `New-GraphApplication` -- the `NewCredential` parameter must be specified

### New features

* New `Set-GraphApplicationCertificate` command that supports specifying an existing public key certificate in the file system (both .cer and .pfx formats) or those from the Windows certificate store.
* New `Select-GraphConnection` command to switch between connections without connecting to them
* New `AdditionalProperties` parameter for `New-GraphApplication` to set values for arbitrary properties of the application
* New `CertificatePath` parameter for `New-GraphApplicationCertificate` and `New-GraphLocalCertificate`
* New `Thumbprint` parameter for `Set-GraphApplicationCertificate`
* New `CertKeyLength` for commands that create certificates to allow the size of the key to be customized
* New `NewCredential` parameter for `New-GraphApplication` to explicitly create a new certificate credential
* Output types for `Get-GraphApplication` and `Get-GraphApplicationConsent` commands for improved usability when piping output to commands including `Select-Object`
* Commands that create certificates now default to 4096 for the key length
* Formatting for commands that output certificate information
* Improved, simpler formatting for connections, including highlighting current connection
* `Get-GraphError` is now a view on top of the log for errors and is easier to read
* New build scripts to help with documentation
 * `./build/Get-CommandParameters`
 * `./build/Get-DocumentStationStatus`
 * `./build/Get-MissingDocCommandsByFewestParameters`

### Fixed defects

* Correctly parse @odata.context URIs like$metadata#users(userid)/contacts/$entity such that the URI is correclty identified to refer to a member of a collection
* `Remove-GraphApplicationConsent` failed when input was not taken from the pipeline
* `New-GraphApplication`, `Set-GraphapplicationConsent` other commands failed when the connection (typically from profile settings) had the non-default value of `Eventual` set for `ConsistencyLevel`. This caused requests that expected read-after-write to reflect the write operation to fail sometimes. This was fixed by ensuring that regardless of the setting used for queries constructed by the user via commands like `Invoke-GraphRequest` and `Get-GraphRequest`, the consistency level of `Session` is always used.
* `Get-GraphMethod` and `Get-GraphMember` required the `GraphName` parameter to be specified whenever the `Uri` parameter was specified -- this has been fixed.
* Standardized pipelining between certificate and app commands, e.g. output of app commands can be used as input to certificate commands
* Set-GraphApplicationConsent would not set specified delegated permissions if you were signed in with app only and you didn't explicitly specify the consent target -- that is by design, but it should have failed. Instead, it silently skipped the consent with no indication to the user. This has been fixed to fail with an error that instructions on how to remediate.

Version History

Version Downloads Last updated
0.27.0 (current version) 136 6/13/2021
0.26.1 75 5/5/2021
0.26.0 44 5/4/2021
0.25.0 64 2/27/2021
0.24.0 197 9/26/2020
0.23.0 1 9/26/2020
0.22.0 47 9/8/2020
0.21.1 202 6/20/2020
0.21.0 91 5/24/2020
0.20.0 399 4/19/2020
0.19.0 231 4/12/2020
0.18.0 772 2/8/2020
0.17.0 232 1/29/2020
0.16.0 326 11/6/2019
0.15.0 60 10/24/2019
0.14.0 24 10/23/2019
0.13.0 33 10/16/2019
0.12.0 28 10/7/2019
0.11.1 95 9/23/2019
0.11.0 8 9/20/2019
0.10.0 201 3/18/2019
0.9.0 236 2/3/2019
0.8.1 24 1/19/2019
0.8.0 22 1/13/2019
0.7.1 30 1/8/2019
0.7.0 13 1/8/2019
0.6.2 20 1/6/2019
0.6.1 17 1/5/2019
0.6.0 20 1/2/2019
0.5.1 65 10/30/2018
0.5.0 65 9/30/2018
0.4.0 38 9/15/2018