PowerShell Script to Restart SharePoint 2013 Farm services




A while back I wrote a quick script to ‘Restart services on a SharePoint 2010 Farm’, this blog post can be found here.


Anyway, I have slightly updated it for SharePoint 2013. Its pretty much the same though I am also restarting the Search process too and also checking that the service exists on the server before restarting.

How you find it useful


The Script


Here is the script:-

    [Parameter(Mandatory=$false, HelpMessage='-ServiceNames Optional, provide a set of service names to restart.')]
    [Array]$ServiceNames=@("SharePoint Timer Service","SharePoint Administration", "SharePoint Server Search 15", "World Wide Web Publishing Service","IIS Admin Service")

Write-Host "Attempting to get SharePoint Servers in Farm" -ForegroundColor White;
$farm = Get-SPFarm;
$servers = $farm.Servers;
Write-Host "Found" $servers.Count "Servers in Farm (including database servers)" -ForegroundColor White;
foreach($server in $servers)
    if($server.Role -ne [Microsoft.SharePoint.Administration.SPServerRole]::Invalid)
        Write-Host "Attempting to restart services on" $server.Name -ForegroundColor White;
        foreach($serviceName in $ServiceNames)
            $serviceInstance = Get-Service -ComputerName $server.Name -Name $serviceName -ErrorAction SilentlyContinue;
            if($serviceInstance -ne $null)
                Write-Host "Attempting to restart service" $serviceName ".." -ForegroundColor White -NoNewline;
                    Restart-Service -InputObject $serviceInstance;
                    Write-Host " Done!" -ForegroundColor Green;
                    Write-Host "Error Occured: " $_.Message;

Download the script here: Restart-SPServices2013.zip