PowerShell cmdlets for SharePoint

This is a suite of PowerShell cmdlets to simplify the management of large SharePoint site collections. Works with SharePoint 2007,2010,2013. These cmdlets are designed to work over HTTP and have no reliance on physically being on the server. This is designed to work with SharePoint in the intranet only.

Why PowerShell over HTTP?

These cmdlets were designed to work using the out of box web services exposed by SharePoint. While working with large banks I often found myself managing large site collections. As a site collection administrator  I would often write some custom web service client side code to carry out certain functions. Inspired by SharePoint's native support for PowerShell I decided to encapsulate my work into discrete and re-usable PowerShell cmdlets.

Who can benefit from these cmdlets?

It is my belief that Site collection administrators would find these cmdlets useful. I have listed a few scenarios which inspired me. I am sure I am not alone. I would be happy to extend this to new use cases.

Scenarios that can be addressed using these Cmdlets

  1. Get a listing of all groups in the site collection
  2. Get a listing of all members in a group
  3. Get a listing of all users in a site collection
  4. Add users to a group
  5. Delete a group
  6. Enumerate all sub-sites under a site(recursive and non-recursive)
  7. Enumerate all document libraries and lists under a site (recursive and non-recursive) and also specify properties to fetch (e.g. RequireCheckout, EnableVersioning)
  8. Delete a list item with a specified ID
  9. Query for list items (specify properties to fetch)
  10. Upload a document to a document library and also update any custom attributes
  11. Upload a document to any location outside of a document library. e.g. the root of a sub-site


Last edited Sep 13, 2014 at 9:20 AM by harappa, version 13