This project has moved. For the latest updates, please go here.

Distributed Cache starting (muli-server)



I have noticed that whenever I use the script to create a multi-server farm the distributed cache service fails to start. The script returns a pass however the service does not actually start. Digging into it I have found that the windows firewall rule for ICMP incoming (under file and print sharing) must be enabled as AppFabric uses ICMP to check the state of servers before enabling the service.

Can the script be amended to enable these rules 1 for IPv4 and 1 for IPv6?


Terafirma wrote Jul 17, 2014 at 1:00 AM

To fix this after deployment I have to run the following script on the servers it fails to start on:

$SPFarm = Get-SPFarm
$cacheClusterName = "SPDistributedCacheCluster_" + $SPFarm.Id.ToString()
$cacheClusterManager = [Microsoft.SharePoint.DistributedCaching.Utilities.SPDistributedCacheClusterInfoManager]::Local
$cacheClusterInfo = $cacheClusterManager.GetSPDistributedCacheClusterInfo($cacheClusterName);
$instanceName ="SPDistributedCacheService Name=AppFabricCachingService"
$serviceInstance = Get-SPServiceInstance | ? {($_.Service.Tostring()) -eq $instanceName -and ($_.Server.Name) -eq $env:computername}

Taken from

wrote Jul 23, 2014 at 1:57 PM

brianlala wrote Aug 8, 2014 at 3:14 AM

Interesting... have never run into this problem, nor have I ever had to add Windows Firewall rules to get Distributed Cache working.

Do your network connections get properly detected as Domain networks? Or are they perhaps stuck on "Public"?


Terafirma wrote Aug 10, 2014 at 10:13 PM

Hi They are definitely seen as domain networks. We do not have a policy that enables the ICMP allow rule by default so it only gets enabled if something turns it on.I have this issue on every multi server farm I have used AutoSPInstaller on and the same thing to fix them.

Looking into it online Microsoft state that AppFabric servers must be able to ping each other. If I make the fixes I mentioned above without enabling the firewall rule it does not work.

Could it be that the Server images you use for testing have ICMP enabled in the image (normally pretty standard in testing images)?