Question Commande de verification

Plus d'informations
il y a 12 ans 8 mois #15370 par padawan
Commande de verification a été créé par padawan
Bonjour à tous, etant debutant, je me creuse les meninges depuis quelques heures pour obtenir une formule que mon responsable m'a dit de faire.

Je debute en powershell, j'aimerai de l'aide et de detaillé ce script.

Je suis sur que pour la plupart d'entre vous ce sera hyper -easy,
D'avance merci

( j'apelle les services, service1 et service2)

Ce script consiste à vérifier si le service1 est démarré
Si ce service n'est pas démarré
Vérifier le service 2
Si service2 sémarré alors démarrer le service1
Si service2 pas démarré alors
Démarrer service2
Démarrer service1
Si service 1 démarrer, alors ne rien faire

La complexité c'est que on me demande de l'executer toutes les minutes, et de marquer des pauses a l'execution des taches, et si ces pauses sont trop longues alors envoyer un mail.

Je sais que je vais vous paraitre ridicule, mais je n'ai que 2 jours de pratique, et je n'ai pas envie de vous montrer ce que j'ai pondu car c'est ridicule.

MERCI

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 8 mois #15371 par Philippe
Réponse de Philippe sur le sujet Re:Commande de verification
bonjour padawaN

Je sais que je vais vous paraitre ridicule, mais je n'ai que 2 jours de pratique, et je n'ai pas envie de vous montrer ce que j'ai pondu car c'est ridicule.

on n'a tous ete ridicule :blush: (et debutant) un jour. :evil:
ce qui serait ridicule c'est que l'on fasse ton travail. :silly:

il y a plus d'un technique pour arriver au resultat et pas assez d'info (os, version PS, local/distant, ...) donc montre nous ton ebauche et completera les trous. B) ;)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 8 mois #15372 par padawan
Réponse de padawan sur le sujet Re:Commande de verification
Merci pour ta reponse, j'ai pondu cette formule

if((Get-Service | Where { $_.DisplayName -match \"spooler\" }).Status -match \"Stopped\"){Start-Service -DisplayName spooler } Start-Sleep -Seconds 5

mais j'avoue que je ne sais pas par ou attraper le poisson

Je suis sous windows 7 pro sp1<br><br>Message édité par: padawaN, à: 18/07/13 15:50

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 8 mois #15373 par Philippe
Réponse de Philippe sur le sujet Re:Commande de verification
ok

pour un debut c'est bien

j'ai simplifier un peu (voir doc de get-service, taper la commande suite sous powershell : get-help Get-Service -detailed)

[code:1]if ((Get-Service \&quot;spooler\&quot;).Status -match \&quot;Stopped\&quot;)
{
Start-Service -Name \&quot;spooler\&quot;
}
Start-Sleep -Seconds 5[/code:1]

apres tu imbrique un if pour le deuxieme service
ex :[code:1]if ((Get-Service \&quot;spooler\&quot;).Status -match \&quot;Stopped\&quot;)
{
if ((Get-Service \&quot;service-deux\&quot;).Status -match \&quot;Stopped\&quot;)
{
Start-Service -Name \&quot;service-deux\&quot;
}
Start-Service -Name \&quot;spooler\&quot;
}
Start-Sleep -Seconds 5
[/code:1]

apres pour les 5 secondes, c'est toi qui voir,
mais je fairais plutot une tache planifier qui execute toute les X secondes pour le cas ou le script serais arrete par l'utilisateur

PS : utilise les boutons au dessus de la saissi du message pour la colorisation du code ou pour autre chose<br><br>Message édité par: 6ratgus, à: 18/07/13 16:29

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 8 mois #15374 par Philippe
Réponse de Philippe sur le sujet Re:Commande de verification
j'ai oublier un truc

pour que le script s'execute en continue, il faut le mettre dans une boucle infinie.

par exemple :

[code:1]while (1)
{
if ((Get-Service \&quot;spooler\&quot;).Status -match \&quot;Stopped\&quot;)
{
if ((Get-Service \&quot;service-deux\&quot;).Status -match \&quot;Stopped\&quot;)
{
Start-Service -Name \&quot;service-deux\&quot;
}
Start-Service -Name \&quot;spooler\&quot;
}
Start-Sleep -Seconds 5
}[/code:1]

La complexité c'est que on me demande de l'executer toutes les minutes, et de marquer des pauses a l'execution des taches, et si ces pauses sont trop longues alors envoyer un mail.

pour l'histoire des pauses, j'ai pas tous suivit
mais pour l'envoyer d'un mail tu peut utiliser ceci :
[code:1]Send-MailMessage -to \&quot;destinataire1@email.fr\&quot;, \"destinataire2@email.fr\&quot; -From \"ordinateur@societe.com\&quot; `
-Subject \&quot;Script controle spooler.\&quot; `
-Body \&quot;j'ai relancer le spooler\&quot; `
-SmtpServer \&quot;smtp.serveur.com\&quot; -Encoding UTF8 [/code:1]<br><br>Message édité par: 6ratgus, à: 19/07/13 09:53

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.046 secondes
Propulsé par Kunena