Arrêt synchrone d'un service distant avec Powershell

J'ai un script de déploiement personnalisé écrit dans Powershell. Ce script doit mettre à jour un service sur une machine distante, et en tant que tel, il doit d'abord l'arrêter pour pouvoir modifier les fichiers exécutables.

Cela semble être un problème.

Pour arrêter un service de manière synchrone, je peux utiliser net stop servicename ou stop-service servicename. Le problème est que ces deux commandes sont confinées à la machine locale.

Pour arrêter un service sur une machine distante, je sais que je peux utiliser le sc.exe programme:

sc.exe \computername stop servicename

Mais c'est asynchrone, donc je ne peux pas vraiment l'utiliser (enfin, sleep 5 semble le faire, mais c'est plutôt sale).

Comment puis-je arrêter de manière synchrone un service distant à l'aide de Powershell?

demandé sur