Sylver SCHORGEN Blog's

Articles, astuces et news sur les technologies Microsoft et plus particulièrement tournant autour de Powershell

Il n'y a pas très longtemps, j'ai eu besoin de lister tous les services Windows arrêtés sur un serveur et de redémarrer ceux ayant un statut de démarrage à Automatique.

J'ai donc tout de suite pensé à Get-Service. Cependant, après avoir tous les membres disponibles, aucun ne permet de récupérer le statut de démarrage d'un service. Surement un oubli de la part de Microsoft.

Je me suis donc tourné vers notre très chère amie Get-WMIObject [:P] Voici la commande :

Get-WmiObject win32_service | select name, startmode,state | Where-Object -FilterScript {($_.State -eq "Stopped") -and ($_.startmode -eq "Auto")} | Start-Service


Expliquons maintenant chaque partie du pipeline de cette longue commande. Get-WmiObject win32_service | select name, startmode,state  permet de récupérer les services Windows en ne filtrant que sur le nom, le mode de démarrage et l'état du service.

Where-Object -FilterScript {($_.State -eq "Stopped") -and ($_.startmode -eq "Auto")} permet de filtrer sur les services étant arrêtés ($_.State -eq "Stopped") et ayant un mode de démarrage automatique ($_.startmode -eq "Auto").

Une fois ces éléments récupérés, nous pouvons taper la commande Start-Service afin ne démarrer que les services ayant un mode de démarrage automatique et étant arrêtés.

Facebook Like