Si comme moi vous avez besoin de démarrer un service sur un serveur distant (en l’occurrence un Windows 2008), vous avez sans doute eut un message d’erreur lors de l’exécution de votre commande Powershell.
Prenons un exemple simple, dans la commande qui va suivre, je souhaites démarrer le service NSCLIENT ++. Pour celà vous devez avant toute chose récupérer le nom du service (service name), dans mon cas : NSClientpp. Pour cette exemple, nous allons partir sur le fait que mon serveur windows se nomme : srv-windows.
Si vous exécutez cette commande, sans avoir configuré votre serveur distant vous avez sans doute obtenu le message d’erreur qui se trouve après cette commande :
Invoke-Command {Start-Service "NSClientpp" -passthru} -ComputerName "srv-windows"
Message d’erreur :
[srv-windows] La connexion au serveur distant a échoué avec le message d’erreur suivant : Le client ne peut pas se connecter à la destination spécifiée dans la demande. Vérifiez que le service est en cours d’exécution sur la destination et qu’il accepte les demandes. Consultez les journaux et la documentation du service Gestion des services Web en cours d’exécution sur la destination, le plus souvent IIS or WinRM. Si la destination est le service WinRM, exécutez la commande suivante sur la destination pour analyser et configurer le service WinRM : « winrm quickconfig ». Pour plus d’informations, voir la rubrique d’aide about_Remote_Troubleshooting.
+ CategoryInfo : OpenError: (:) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionStateBroken
Pour résoudre ce message, rien de plus simple, pour une fois Microsoft donne la solution dans son message d’erreur. Dirigez-vous vers votre serveur distant (via RDP ou autre). Ouvrez une fenêtre powershell, et tapez cette commande :
winrm quickconfig
Vous allez obtenir ce message :
WinRM already is set up to receive requests on this machine.
WinRM is not set up to allow remote access to this machine for management.
The following changes must be made:Create a WinRM listener on HTTP://* to accept WS-Man requests to any IP on this machine.
Enable the WinRM firewall exception.Make these changes [y/n]?
Répondez « y » à la question : y
Vous devriez voir apparaître ceci :
WinRM has been updated for remote management.
Created a WinRM listener on HTTP://* to accept WS-Man requests to any IP on this machine.
WinRM firewall exception enabled.
Désormais exécutez votre commande depuis votre host distant, et la commande sera réalisée avec succès :).
Enjoy and have fun
🙂
4 commentaires sur “POWERSHELL : Démarrer un service distant sur un Serveur Windows”
Super !
Merci pour l’info.
—
Gab.
Bonjour, merci pour le tuto mais comment fait-on pour une liste de serveurs ? Boucle ?
Super !
Merci pour le tuto