Pour ceux qui ne disposent pas d’outil de monitoring capable de relancer automatiquement un service (démarrage automatique bien sur) qui aurait connu une défaillance, Arnaud Petitjean propose une solution simple à mettre en œuvre.
Cette solution basée sur du PowerShell et WMI ne nécessite pas de logiciel additionnel, ne consomme pas spécialement de ressources et peut fonctionner sur toutes les éditions de Windows (pourvue de PowerShell). Si vous disposez d’un environnement cluster, les services en cluster sont automatiquement redémarrés en cas de panne (enfin, si vous le voulez).
Donc n’utilisez pas cette solution pour des services cluster SVP.
Jetez un œil au post d’Arnaud pour plus de détail.
Voici le bout de code permettant le redémarrage :
$serviceName = '[Placez ici le nom de votre service]' $query = "Select * From __InstanceOperationEvent within 3 Where TargetInstance ISA 'Win32_service' AND TargetInstance.Name='$serviceName'" $action = { if ( (Get-Service $serviceName).Status -ne 'running' ) { Write-Warning "Démarrage du service $serviceName" Start-Service $serviceName } } Register-WMIEvent -query $query -sourceIdentifier "ArretService" -action $action
Merci pour l’article
Crdt,
—
HK