Question
Probleme rencontré pour faire tourner un script
- Enzo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 6 ans 9 mois #28947
par Enzo
Probleme rencontré pour faire tourner un script a été créé par Enzo
Bonjour à tous, je suis nouveau sur le forum.
J'ai pu faire un peut le tour et j'ai testé certains scripts powershell. Celui avec l'intitulé \"Surveillance d'un service et relancement automatique en cas d'arrêt\" m'a tapé dans l’œil .
J'ai reproduis le script qui y était énoncé en changeant le nom de service.
Mon action s'appelle donc ArretService tout comme dans l'exemple. Quand je fais un get-job, Mon \"ArretService\" parait en status : Non-started
J'ai écris le script dans la console powershell mais je l'ai aussi enregistré en .ps1 dans un dossier
J'ai beau essayer de nombreuses combines.
Start-job -Name ArretService -ScriptBlock {ArretService C:\Users\Enzo\Script}
get-job -id 1 | Start-job -ScriptBlock {ArretService}
à la suite de ces deux commandes il passait en Running mais il me suffisait de faire un get-job juste après pour constater qu'il était un NotStarted.
Quelqu'un aurait une idée de mon problème ?
Merci d'avance
J'ai pu faire un peut le tour et j'ai testé certains scripts powershell. Celui avec l'intitulé \"Surveillance d'un service et relancement automatique en cas d'arrêt\" m'a tapé dans l’œil .
J'ai reproduis le script qui y était énoncé en changeant le nom de service.
Mon action s'appelle donc ArretService tout comme dans l'exemple. Quand je fais un get-job, Mon \"ArretService\" parait en status : Non-started
J'ai écris le script dans la console powershell mais je l'ai aussi enregistré en .ps1 dans un dossier
J'ai beau essayer de nombreuses combines.
Start-job -Name ArretService -ScriptBlock {ArretService C:\Users\Enzo\Script}
get-job -id 1 | Start-job -ScriptBlock {ArretService}
à la suite de ces deux commandes il passait en Running mais il me suffisait de faire un get-job juste après pour constater qu'il était un NotStarted.
Quelqu'un aurait une idée de mon problème ?
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 6 ans 9 mois #28952
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Probleme rencontré pour faire tourner un script
Salut,
Enzau écrit:
J'ai un doute sur le fait qu'un job passe de l'état Running à 'NotStarted'.
A l'origine 'NotStarted' indique que le job est en attente d'exécution, ce délai d'attente dépend surement de la charge CPU, ce n'est pas tjr instantané (mais très souvent) .
Pour suivre ce qui se passe l'ajout d'événement de changement d'état peut t'aider, consulte le tutoriel sur les Job via le lien dans ma signature.
Enfin qu'est-ce que ArrêtService dans le scriptblock de ce code ?
[code:1]
Start-job -Name ArretService -ScriptBlock {ArretService C:\Users\EnzoScript}[/code:1]
Au sein du code d'un job, on utilise l'objet JOB pour le supprimer par exemple. Je ne comprends pas ce que tu essaies de faire ici
<br><br>Message édité par: Laurent Dardenne, à: 24/05/19 14:36
Enzau écrit:
Sans le code et donc sans test, aucune.Quelqu'un aurait une idée de mon problème ?
J'ai un doute sur le fait qu'un job passe de l'état Running à 'NotStarted'.
A l'origine 'NotStarted' indique que le job est en attente d'exécution, ce délai d'attente dépend surement de la charge CPU, ce n'est pas tjr instantané (mais très souvent) .
Pour suivre ce qui se passe l'ajout d'événement de changement d'état peut t'aider, consulte le tutoriel sur les Job via le lien dans ma signature.
Enfin qu'est-ce que ArrêtService dans le scriptblock de ce code ?
[code:1]
Start-job -Name ArretService -ScriptBlock {ArretService C:\Users\EnzoScript}[/code:1]
Au sein du code d'un job, on utilise l'objet JOB pour le supprimer par exemple. Je ne comprends pas ce que tu essaies de faire ici
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Enzo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 6 ans 9 mois #28956
par Enzo
Réponse de Enzo sur le sujet Re:Probleme rencontré pour faire tourner un script
Salut,
Merci pour ta réponse.
Le script que j'ai tenté d’exécuter est le suivant :
powershell-scripting.com/index.php?optio...id=384&Itemid=71
Soit -->
[code:1]$serviceName = 'Superfetch'
$query = \"Select * From __InstanceOperationEvent
within 3
Where TargetInstance ISA 'Win32_service'
AND TargetInstance.Name='$serviceName'\"
$action =
{
if ( (Get-Service $serviceName).Status -ne 'running' )
{
Write-Warning \"Démarrage du service $serviceName\"
Start-Service $serviceName
}
}
Register-WMIEvent -query $query -sourceIdentifier \"RebootServic\" –action $action [/code:1]
J'ai éxécuté le script, je te montre la suite sur mon screen --> zupimages.net/viewer.php?id=19/21/pphq.png
Tout ce que j'essaye de faire, c'est de faire tourner ce job en boucle.
Le but de ce script étant de redémarrer un service lorsqu'il s'éteint
Message édité par: Enzau, à: 26/05/19 16:59<br><br>Message édité par: Arnaud, à: 27/05/19 13:36
Merci pour ta réponse.
Le script que j'ai tenté d’exécuter est le suivant :
powershell-scripting.com/index.php?optio...id=384&Itemid=71
Soit -->
[code:1]$serviceName = 'Superfetch'
$query = \"Select * From __InstanceOperationEvent
within 3
Where TargetInstance ISA 'Win32_service'
AND TargetInstance.Name='$serviceName'\"
$action =
{
if ( (Get-Service $serviceName).Status -ne 'running' )
{
Write-Warning \"Démarrage du service $serviceName\"
Start-Service $serviceName
}
}
Register-WMIEvent -query $query -sourceIdentifier \"RebootServic\" –action $action [/code:1]
J'ai éxécuté le script, je te montre la suite sur mon screen --> zupimages.net/viewer.php?id=19/21/pphq.png
Tout ce que j'essaye de faire, c'est de faire tourner ce job en boucle.
Le but de ce script étant de redémarrer un service lorsqu'il s'éteint
Message édité par: Enzau, à: 26/05/19 16:59<br><br>Message édité par: Arnaud, à: 27/05/19 13:36
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 6 ans 9 mois #28960
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Probleme rencontré pour faire tourner un script
Ok, il s'agit d'un job lié à un événement.
Le code de ce type de job se déclenche (Running) lorsque l'événement associé se déclenche.
Tant qu'aucun événement survient il ne se passe rien.
Il doit donc être déclenché au moins une fois pour changer d'état. Ceci dit le job est 'NotStarted' mais l'écoute de l'event est active.
J'ai testé ce script, il fonctionne sur Windows 10 (1809)
Essai de préciser le nom de service dans le code $Action.
Et pour ton exemple de job 'Failed' il nous faut le détail.
[edit]
Maj version de windows<br><br>Message édité par: Laurent Dardenne, à: 27/05/19 15:27
Le code de ce type de job se déclenche (Running) lorsque l'événement associé se déclenche.
Tant qu'aucun événement survient il ne se passe rien.
Il doit donc être déclenché au moins une fois pour changer d'état. Ceci dit le job est 'NotStarted' mais l'écoute de l'event est active.
J'ai testé ce script, il fonctionne sur Windows 10 (1809)
Essai de préciser le nom de service dans le code $Action.
Et pour ton exemple de job 'Failed' il nous faut le détail.
[edit]
Maj version de windows<br><br>Message édité par: Laurent Dardenne, à: 27/05/19 15:27
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 6 ans 9 mois #28961
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Probleme rencontré pour faire tourner un script
En passant l'arrêt du job se fait via Unregister-Event, ensuite reste à le supprimer.
La fin du texte que tu cites est donc erroné.
La fin du texte que tu cites est donc erroné.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Enzo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 6 ans 9 mois #28963
par Enzo
Réponse de Enzo sur le sujet Re:Probleme rencontré pour faire tourner un script
Avant tout, merci pour tes réponses et ta réactivité Laurent!
Ensuite, j'ai beau lire tes messages, je ne vois pas où tu veux en venir ..
De plus, quand j'execute le code tel que je te l'ai donné (en changeant le service avec le service tel que \"Superfetch\" . Voilà le message de retour ..
serviceName : Le terme «serviceName» n'est pas reconnu comme nom d'applet de commande,
fonction, fichier de script ou programme exécutable. Vérifiez l'orthographe du nom, ou si
un chemin d'accès existe, vérifiez que le chemin d'accès est correct et réessayez.
Au caractère C:\Users\Enzo\Script\RebootService.ps1:1 : 1
+ serviceName = 'Superfetch'
+ ~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (serviceName:String) [], CommandNotFoundExcep
tion
+ FullyQualifiedErrorId : CommandNotFoundException
Qu'as tu fais pour que le script fonctionne ?
Ensuite, j'ai beau lire tes messages, je ne vois pas où tu veux en venir ..
De plus, quand j'execute le code tel que je te l'ai donné (en changeant le service avec le service tel que \"Superfetch\" . Voilà le message de retour ..
serviceName : Le terme «serviceName» n'est pas reconnu comme nom d'applet de commande,
fonction, fichier de script ou programme exécutable. Vérifiez l'orthographe du nom, ou si
un chemin d'accès existe, vérifiez que le chemin d'accès est correct et réessayez.
Au caractère C:\Users\Enzo\Script\RebootService.ps1:1 : 1
+ serviceName = 'Superfetch'
+ ~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (serviceName:String) [], CommandNotFoundExcep
tion
+ FullyQualifiedErrorId : CommandNotFoundException
Qu'as tu fais pour que le script fonctionne ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.049 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Probleme rencontré pour faire tourner un script