Problem Description:
I tried to deploy / retract a solution on a SharePoint farm, but the process never finishes. It stucked in “Deploying / Retracting” state forever.
In my case this was caused by disabled timer service instances.
Workaround:
I deployed the solutions with the parameter -Local on each server.
Final Solution:
$farm = Get-SPFarm
$disabledTimers = $farm.TimerService.Instances | where {$_.Status -ne “Online”}
foreach ($timer in $disabledTimers)
{
$timer.Status = [Microsoft.SharePoint.Administration.SPObjectStatus]::Online
$timer.Update()
}