Microsoft cloud engineer - SharePoint, Office 365, Azure, DotNet, Angular, JavaScript.
Microsoft cloud engineer - SharePoint, Office 365, Azure, DotNet, Angular, JavaScript.

February 2015

What’s in that patch? SharePoint 2013 – Feb 2015 CU

Ever wondered what fixes are inside of a given CU?   Please see attached PDF with 7 pages of full detail.

I wanted to try a new format for easy reading.   Show management and make the business case for why downtime should be taken to apply CUs.

As much time as I spend patching SharePoint even I never really dig into KB article fix detail.   However, this makes it easier to see everything without obscure click throughs from one Microsoft article to the next buried layers deep.

If you found this helpful, please leave a comment.   

If enough people see benefit then I’ll work on making a monthly DOC for “What’s in that patch?” (WITP).  

shades_smile
Whats in that patch – SharePoint 2013 – Feb 2015 CU.PDF

IIS – no default pool recycle, set 1AM

Background

When SharePoint 2013 installs IIS application pools are created for content, service applications, central admin, and workflow.    Only the content pools appear to be given a daily recycle time.    However, I have noticed errors with Service Applications which can be fixed after recycling the pool.    Personally I prefer to recycle pools daily and ensure maximum stability.   Below is PowerShell code to accomplish that.  

shades_smile

 

image

 

Symptoms

  • Excel Services Web Part error visible to end users –  “We don’t know what happened, but something went wrong.  Could you please try that again?”
  • WCF errors on eventlog
  • Slow or unresponsive HTTP endpoints with “.svc”
image

Resolution

Apply 1AM IIS daily recycle time to any SharePoint pools without a schedule.

PowerShell Code

# Bypass IIS Defaults
$exclude=@(".NET v2.0",".NET v2.0 Classic",".NET v4.5",".NET v4.5 Classic","Classic .NET AppPool","DefaultAppPool");
# Loop SharePoint pools
$pools = Get-ChildItem IIS:\AppPools;
foreach ($p in $pools) {
	if (!$exclude.contains($p.name)) {
		$pn = $p.Name;
		$s = $p.recycling.periodicRestart.schedule.collection.value;
		if (!$s) {
			# Missing recycle schedule.  Set 1AM daily
			Set-ItemProperty -Path "IIS:\AppPools\$pn" -Name Recycling.periodicRestart.schedule -Value @{value="01:00"}}
		}
	}
}

© Copyright 2016
@ SPJeff

Return to Top ▲Return to Top ▲