Afficher uptime d’un service Windows
Vous avez peut-être programmé un script ou une tâche automatisée pour redémarrer un service Windows chaque jour, l’arrêter automatiquement après une action ou pour une action de maintenance. Aussi, une application métier peut planter et vous souhaitez savoir si c’est le service qui gère le logiciel qui aurait pu planter. Par exemple, le SGBD SQL Server fonctionne avec un service principal pour son moteur de base de données, tout comme le concurrent Oracle, la messagerie Microsoft Exchange, l’outil de sauvegarde Backup Exec ou tout autre programme qui est démarré par un service local.
Il n’y a besoin d’installer aucun logiciel pour avoir une vue sur la durée d’exécution d’un service Windows. On va utiliser la valeur Start Time (starttime) renvoyée par une commande PowerShell pour connaitre l’uptime d’un service local Windows, c’est-à-dire la durée depuis laquelle le service tourne sur le serveur ou le poste de travail. Ce tutoriel fonctionne avec toutes les versions de Windows qui interprètent du PowerShell, même avec la première version de Windows Server 2008 ou Vista. Bien sûr, Windows Server 2012 / R2 et 2016 sont compatibles, ainsi que Windows 7, 8 et 10.
Vérifier le Start Time d’un service local Windows
1. Ouvrir une console Windows PowerShell sur le poste ou le serveur Windows.
2. Copier / coller la commande suivante :
Get-Process | select name, starttime
3. La commande renvoie le nom du service dans la colonnes « Name » ainsi que l’heure de démarrage de ce service dans la colonne « StartTime » sous la forme date heure. Il ne s’agit pas d’une durée depuis laquelle le service est exécuté mais cela indique le jour et l’heure du démarrage du service.
Cette information est fiable puisqu’elle émane de Windows. C’est le système d’exploitation qui gère les services locaux Windows, il devient ainsi facile de vérifier si un service a redémarré comme prévu (tâche planifiée par exemple) ou si au contraire, un plantage est survenu depuis le démarrage de la machine.