IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Récupérer l'état d'un service


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Points : 18
    Points
    18
    Par défaut Récupérer l'état d'un service
    bonjour,

    J'ai besoin dans un script VBS de récupérer l'état d'un service windows et de tester sa valeur afin d'opérer d'autres commande.
    La commande pour récupérer l'état du service que j'utilise est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cmd = sc interrogate nom_service | find /c /i "running"
    Ensuite je m'occupe du problème de quotes et je lance cette commande et récupère l'état :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    cmd = Replace("sc interrogate aspnet_state | find /c /i $$running$$", "$$", chr(34))
    service_state = WshShell.run(cmd, 2, true)
    wscript.echo service_state
    Et pour mon echo j'obtiens toujours la valeur 0 (service arrété) meme si le "vrai" état dans la console mmc ou en CLI affiche 1 (pour démarré)

    Alors comment ce fait-il que je n'obtiens pas le meme résultat qu'en CLI ou dans les services.msc?

    Merci de votre aide

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Run retourne un entier, mais celui-ci n'est pas en rapport avec ce qui est affiché sur la sortie standard... pour récupérer la sortie standard utilise StdOut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    cmd = "cmd /c sc interrogate ""iPod Service"" | find /c /i ""running"""
    Set WshShell = CreateObject("WScript.Shell")
    Set oExec    = WshShell.Exec(cmd)
    service_state = Cint(oExec.StdOut.ReadAll)
    wscript.echo ">" & service_state & "<"
    Nota :pour mettre des guillemets dans une chaine en VB il suffit de doubler ces guillemets, pas la peine d'utiliser ces replace et Chr(34).



    et avec WMI ?

    voir Comment lister les services actifs ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    strComputer = "."
        Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
        Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Service Where Name = 'aspnet_state'",,48)
        For Each objItem in colItems
            Wscript.Echo "Service : " & objItem.Name & " : " & objItem.State
        Next
     
        Set colItems = Nothing
        Set objWMIService = Nothing

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Points : 18
    Points
    18
    Par défaut Résolu!
    Merci pour ton aide
    j'ai enfin pu tester et ça fonctionne très bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. WMI : scanner l'état d'un service
    Par ZERS dans le forum Windows
    Réponses: 2
    Dernier message: 23/09/2005, 09h38
  2. Récupérer l'état d'un processus créé avec CreatProcess
    Par Didier L dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/09/2005, 00h39
  3. comment récupérer l'état d'un capteur?
    Par r0d dans le forum Périphériques
    Réponses: 8
    Dernier message: 17/08/2005, 20h13
  4. Réponses: 5
    Dernier message: 22/12/2004, 16h50
  5. Connaître l'état d'un service
    Par NoisetteProd dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 06/08/2003, 17h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo