Monthly Archives: May 2016

SPPatchify – CU patch entire farm from one script

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.
  • Stop Distributed Cache (DC)
  • Stop SharePoint services
  • Run EXE binary in paralle
  • Wait for EXE to complete and reboot
  • Dismount-SPContentDatabase
  • Start SharePoint services
  • Run SharePoint Config Wizard serially
  • Mount-SPContentDatabase
  • Remove Microsoft Cumulative Update (CU) media from peer servers
  • Ensure IIS started
  • Launch Central Admin with IE
  • Reboot current PC


Duration from start to end is incredibly fast.    I tested a 4 server SharePoint 2013 farm and ran the entire process in just 45 minutes.   Stopping services and dismounting content databases speeds up patching significantly.    Automating serial (one-at-time) Configuration Wizard ensures minimal “think time” between steps.   Removing manual human process gives higher consistency while mitigating risk of error.

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!  shades_smile 

Please leave a comment if you found this helpful.


Get Started

  2. Extract to “C:\SPPatchify” on any server in the farm
  3. RDP with farm account and run “C:\SPPatchify\SPPatchify.ps1”


Flow Diagram











Office 365 – Baby Proof SharePoint

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.

Why not try “Baby Proofing” SharePoint in Office 365 by hiding unwanted features?    Client side JavaScript with JQuery CSS selectors can easily hide interface elements during page load.

IT benefits with standardize governance, reduced support calls, and easier migration.   Business benefits with a simpler easy to navigate menu.  Good for both sides.

Less is more!  Give it a try. shades_smile

PowerShell and JS available on GitHub at 

PowerShell Enable

# Upload JS to
.\Activate-JS.ps1 -SiteUrl "" -UserName "" -Password "password"


Screenshot – Before





Screenshot – After




Source Code

What’s in that patch? SharePoint 2013 – May 2016 CU

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

If you found this helpful, please leave a comment.    shades_smile_thumb_thumb_thumb_thumb[2]



Whats in that patch – SharePoint 2013 – May 2016 CU.PDF

VIDEO – Secure WebAPI with AzureAD

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.

Enjoy!  shades_smile


Source Code



Return to Top ▲Return to Top ▲