May 2016

Patching can be tedious and time consuming. Why not automate that? Who wants to be awake all night clicking “Next” and watching SP config wizard? So I coded a single PowerShell script to manage the full end-to-end patching process.

The script will …

Enable PowerShell client remoting. Connects to farm peer machines.

Autodetect current user password from IIS pools

Download Microsoft Cumulative Update (CU) media (EXE +CAB) and copy to all servers. Optionally, you can download to the \media\ sub folder manually.

The script uses Get-SPServer to auto detect farm members. That enables CU media copy sideways to peers and the stop/start of SharePoint services. Get-SPContentDatabase is exported to a local CSV file to “snapshot” before patching and later Mount-SPContentDatabase step to present databases again. The big goal isn’t zero downtime, but rather minimal downtime.

The entire farm patching process can be managed from one PowerShell window. Enjoy!

Ever enabled a Site Feature out of curiosity? I sure have. Great way to learn, but can make support headaches too. Confusing menus, extra list instances, extra content types, and more surface area to juggle.

Screenshot – After

Source Code

Ever wondered what fixes are inside of a given CU? Please see attached PDF with full detail. I wanted a new format for easy reading. Show management and make the business case for why downtime should be taken to apply CUs. Also posted at http://sharepointupdates.com/

If you found this helpful, please leave a comment.

Download

I recorded a quick getting started video for this Microsoft GitHub sample. Walks through all the steps and even shows the SQL Local DB storage and how to verify security with Fiddler Composer sending test HTTP traffic.

This pattern is a great way to enhance Officer 365 SharePoint team sites with advanced functionality. Host AngularJS single page application (SPA) on the front end along with an Azure AD secured WebAPI backend. Lots of potential for replacing traditional WSP farm solutions with new cloud development patterns.