Powershell Attendre pour que le service soit arrêté ou démarré
J'ai cherché à la fois à ce forum et grâce à google et ne peut pas trouver ce dont j'ai besoin.
J'ai une assez grande script et je suis à la recherche d'un code qui permettra de vérifier si le service est démarré ou arrêté avant de passer à l'étape suivante.
La fonction auto besoin de boucle jusqu'à ce qu'il soit arrêté ou démarré (Aller à disposer d'une fonction de Cessé de et de un pour Commencé).
Au total 4 services qui ont presque le même nom, donc, de Service Bus * peut être utilisé comme joker.
OriginalL'auteur Gatewarden | 2015-01-28
Vous devez vous connecter pour publier un commentaire.
La suite de la boucle et de vérifier l'état des services fournis jusqu'à ce que le nombre de services avec la "gestion" de l'état est égale à zéro (d'où ils sont à l'arrêt), de sorte que vous pouvez l'utiliser si vous êtes en attente pour les services d'Arrêter.
J'ai ajouté un
$MaxRepeat
variable, ce qui va empêcher cette exécution pour toujours. Il est 20 fois max.C'est ce que cette boucle n'. Il vérifie juste pour le statut des services fournis. J'ai précisé dans la réponse
Semble fonctionner. Lors de l'exécution de certaines commandes liées à des services de bus, il donne de sortie dans un champ gris sur la fenêtre de la console comme "l'Arrêt de la Ferme", etc. Ces n'a pas communiqué jusqu'à ce script est fait et de bloquer une partie de la sortie. Est-il un moyen de faire en sorte qu'ils disparaissent une fois qu'ils sont fait. Sinon, il fonctionne comme un charme.
Avec un peu de modification, cela fonctionne parfaitement pour le besoin. Le
WaitForStatus
simplement ne suffira pas si vous voulez vous assurer que le service est arrêté ou en marche avant d'aller de l'avant avec votre script.OriginalL'auteur Micky Balladelli
Je ne pouvais pas obtenir le "comte" de la stratégie, que Micky posté, le travail, donc, voici comment je l'ai résolu:
J'ai créé une fonction qui prend un searchString (ce pourrait être "le Service de Bus *") et le statut que j'attends des services devrait atteindre.
La fonction peut maintenant être appelée avec
ou
Si le délai est atteint, un pas si gracieux exception est levée:
OriginalL'auteur mgarde