How-To Update Service Pack or Patching SharePoint 2013 less than 40 Minutes

Environment: SharePoint 2013 Server On-Premises How-To: Make sure look like this below image for installation: Then, open SharePoint...

Environment:
SharePoint 2013 Server On-Premises

How-To:
Make sure look like this below image for installation:

files - afahru.com

Then, open SharePoint 2013 Management Shell as Administrator and set location, example:
You can use cmdlets:
Set-Location -Path “C:\DATA\SharePoint_Update\Service Pack\SP1”

Or
CD C:\DATA\SharePoint_Update\Service Pack\SP1

In this location, type cmdlets .\Script-Patch.ps1 then Enter > Choose option 1 > wait for it until user agreement show up and process to install or updating
extracting - afahru.com

Yeah, install or updating already done. Choose “No” for starting back your services and see result duration.
reboot - afahru.com

done - afahru.com

After that, you can restart by manually.
Hopefully this help and enjoy for copy the script below 😊

Script:
########################### 
##Ensure Patch is Present## 
########################### 
$patchfile = Get-ChildItem | where{$_.Extension -eq ".exe"} 
if($patchfile -eq $null) 
{ 
  Write-Host "Unable to retrieve the file.  Exiting Script" -ForegroundColor Red 
  Return 
}

######################## 
##Stop Search Services## 
######################## 
##Checking Search services## 
$srchctr = 1 
$srch4srvctr = 1 
$srch5srvctr = 1

$srv4 = get-service "OSearch15" 
$srv5 = get-service "SPSearchHostController"

If(($srv4.status -eq "Running") -or ($srv5.status-eq "Running")) 
  { 
    Write-Host "Choose 1 to Pause Search Service Application" -ForegroundColor Cyan 
    Write-Host "Choose 2 to leave Search Service Application running" -ForegroundColor Cyan 
    $searchappresult = Read-Host "Press 1 or 2 and hit enter"  
    Write-Host 
   

   if($searchappresult -eq 1) 
    { 
        $srchctr = 2 
        Write-Host "Pausing the Search Service Application" -foregroundcolor yellow 
        Write-Host "This could take a few minutes" -ForegroundColor Yellow 
        $ssa = get-spenterprisesearchserviceapplication 
        $ssa.pause() 
    } 
   

    elseif($searchappresult -eq 2) 
    { 
        Write-Host "Continuing without pausing the Search Service Application" 
    } 
    else 
    { 
        Write-Host "Run the script again and choose option 1 or 2" -ForegroundColor Red 
        Write-Host "Exiting Script" -ForegroundColor Red 
        Return 
    } 
  }

Write-Host "Stopping Search Services if they are running" -foregroundcolor yellow 
if($srv4.status -eq "Running") 
  { 
    $srch4srvctr = 2 
    set-service -Name "OSearch15" -startuptype Disabled 
    $srv4.stop() 
  }

if($srv5.status -eq "Running") 
  { 
    $srch5srvctr = 2 
    Set-service "SPSearchHostController" -startuptype Disabled 
    $srv5.stop() 
  }

do 
  { 
    $srv6 = get-service "SPSearchHostController" 
    if($srv6.status -eq "Stopped") 
    { 
        $yes = 1 
    } 
    Start-Sleep -seconds 10 
  } 
  until ($yes -eq 1)

Write-Host "Search Services are stopped" -foregroundcolor Green 
Write-Host

####################### 
##Stop Other Services## 
####################### 
Set-Service -Name "IISADMIN" -startuptype Disabled 
Set-Service -Name "SPTimerV4" -startuptype Disabled 
Write-Host "Gracefully stopping IIS W3WP Processes" -foregroundcolor yellow 
Write-Host 
iisreset -stop -noforce 
Write-Host "Stopping Services" -foregroundcolor yellow 
Write-Host

$srv2 = get-service "SPTimerV4" 
  if($srv2.status -eq "Running") 
  {$srv2.stop()}

Write-Host "Services are Stopped" -ForegroundColor Green 
Write-Host 
Write-Host

################## 
##Start Patching## 
################## 
Write-Host "Patching now keep this PowerShell window open" -ForegroundColor Magenta 
Write-Host 
$starttime = Get-Date

$filename = $patchfile.basename    

Start-Process $filename

Start-Sleep -seconds 20 
$proc = get-process $filename 
$proc.WaitForExit()

$finishtime = get-date 
Write-Host 
Write-Host "Patch installation complete" -foregroundcolor green 
Write-Host

################## 
##Start Services## 
################## 
Write-Host "Starting Services Backup" -foregroundcolor yellow 
Set-Service -Name "SPTimerV4" -startuptype Automatic 
Set-Service -Name "IISADMIN" -startuptype Automatic

##Grabbing local server and starting services## 
$servername = hostname 
$server = get-spserver $servername

$srv2 = get-service "SPTimerV4" 
$srv2.start() 
$srv3 = get-service "IISADMIN" 
$srv3.start() 
$srv4 = get-service "OSearch15" 
$srv5 = get-service "SPSearchHostController"

###Ensuring Search Services were stopped by script before Starting" 
if($srch4srvctr -eq 2) 
{ 
    set-service -Name "OSearch15" -startuptype Automatic 
    $srv4.start() 
} 
if($srch5srvctr -eq 2) 
{ 
    Set-service "SPSearchHostController" -startuptype Automatic 
    $srv5.start() 
}

###Resuming Search Service Application if paused### 
if($srchctr -eq 2) 
{ 
    Write-Host "Resuming the Search Service Application" -foregroundcolor yellow 
    $ssa = get-spenterprisesearchserviceapplication 
    $ssa.resume() 
}

Write-Host "Services are Started" -foregroundcolor green 
Write-Host 
Write-Host 
Write-Host "Script Duration" -foregroundcolor yellow 
Write-Host "Started: " $starttime -foregroundcolor yellow 
Write-Host "Finished: " $finishtime -foregroundcolor yellow 
Write-Host "Script Complete"

##Thanks to:Russ Maxwell (russmax@microsoft.com)##
###########################
#Updated Script 4/4/13 1:41 AM (CST).  Thanks to Scott Manning for script validation efforts with appfabric.
#Updated Script 4/2/13 2:10 PM (CST).  Thanks to Jon Waite for script validation efforts.
#Updated Script 8/31/13 10:00 AM (CST).  Corrected an issue with starting script and removed appfabric shutdown/start up failed logic.  Thx for the feedback!
#Updated Script 9/7/15 11:05 AM (CST).  Removed /passive switch to expose errors during patching 
########################### 

You Might Also Like

0 comments