SharePoint Online PnP-PowerShell GET- structures, properties and examples

by Hans Baumhardt 10 October 2016

Powershell for SPO deployment

Our Matter-Center service connects to a client’s Office 365 tenancy to deploy a SharePoint online configuration, which our Azure application accesses through CSOM APIs.

We are using PowerShell for a stack of operational (no, not dev ops) tasks such as:
Matter Center for Office 365 powershell installation validation scrtipt from

  • SharePoint Online in Office 365 performance tests for 500,000 site collections and 500,000 item lists.
  • Scripted deployment of the solution SharePoint information architecture to client’s Office 365 tenancy.
  • Scripted validation of dev, test and client installations.

As this is being delivered by product management and QA (who are not professional developers), rather than hand cranking the CSOM API calls, we are using the most excellent SharePointPnPPowerShellOnline libraries along with the baseline Microsoft SharePoint Online Management Shell and Azure Active Directory PowerShell Module.

Whilst the PnP-PowerShell Cmdlets seem more elegant than the original Microsoft management shell, the documentation on GET commands is rather terse and unfriendly in terms of return structures and properties if you are unfamiliar with the SharePoint taxonomy.

Once the GET properties are mapped out ADD, NEW and SET are straightforward. Since the PnP documentation format in the authoritative GitHub root is locked down, to help save time here are some lookup references to use in conjunction with the official documentation (base October 2016 release 2.8.1610.0)

January 2017 update. We have demised these tables as the PnP Github documentation has been updated (at our suggestion) to include the Microsoft.SharePoint. return structures that can be referenced on MSDN. Thanks to  erwinvanhunen