Désactiver un service Windows sur un serveur distant via PowerShell
Comment peut-on Désactiver un service en PowerShell sur un serveur Microsoft Distant ?
Pour faire cette opération, nous allons voir deux Méthode :
- Get-WmiObject
- Get-Service et Set-Service
Get-WmiObject -class Win32_Service
En utilisant la cmdlet « Get-WmiObject » et la class » Win32_Service », nous pouvons lister la liste des services sur le serveur Windows distant grâce à la commande :
1 2 3 |
. PS D:\> Get-WmiObject -class Win32_Service -computername "MonServeur" | Format-Table -AutoSize . |
Pour modifier le service sur votre serveur, il vous suffit donc de récupérer une instance du service à modifier pour le serveur et d’utiliser la fonction « ChangeStartMode » pour passer ce parametre à « Disabled »……
1 2 3 4 |
. $serviceOs=Get-WmiObject -class Win32_Service -computername "MonServeur" | where {$_.name -eq "NomDuService"} $serviceOs.ChangeStartMode("Disabled") . |
On peut donc mettre tous cela dans une boucle et désactiver plusieurs services sur nos serveurs.
1 2 3 4 5 6 7 8 9 10 11 12 |
. $Serveurs=@("MonServeur1","MonServeur2","MonServeur3","MonServeur4","MonServeur5","MonServeur6") $services=@("WbioSrvc","MapsBroker") foreach($serveur in $Serveurs){ foreach($service in $services){ $serviceOs=Get-WmiObject -class Win32_Service -computername "$($serveur)" | where {$_.name -eq "$($service)"} $serviceOs.ChangeStartMode("Disabled") Get-WmiObject -class Win32_Service -computername "$($serveur)" | where {$_.name -eq "$($service)"} } } |
Get-Service et Set-Service
Comme son nom l’indique, la cmdlet « Get-Service » permet d’obtenir les services d’un Serveur ( Services en cours d’exécution et arrêtés).
1 2 3 |
. Get-Service -Computer "MonServeur" |Format-Table -autosize . |
Pour modifier un service sur un serveurs distant, il vous suffit donc de lancer la commande :
1 2 3 |
. Get-Service -ServiceName "Monservice" -Computer "MonServeurWindows" | set-Service -StartupType "Disabled" . |