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 :

Démarrer service avec des espaces dans le nom


Sujet :

VBScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Démarrer service avec des espaces dans le nom
    Bonjour,

    Je souhaite réaliser un script vbs qui permet de démarrer un service lors de son exécution.
    Le problème est lorsque je veux lancer un service qui ne possède pas d'espace dans son nom (ici maconfservice) le script fonctionne parfaitement mais lorsque je veux lancer le service qui m'intéresse particulièrement (ici MG-SOFT SNMP Trap Service) celui-ci ne démarre pas, le script s’exécute normalement en lançant le second service mais pas le premier.
    Je vous poste un bout de mon code ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Set myShell = WScript.CreateObject("WScript.Shell")
     
    myShell.Run """net start MG-SOFT SNMP Trap Service", 0, true
    myShell.Run "net start maconfservice", 0, true
    Si quelqu'un pouvait m'éclairer sur la syntaxe à avoir pour qu'il me prennent en compte ce service se serait super!

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 296
    Points : 3 549
    Points
    3 549
    Par défaut
    salut,
    http://www.microsoft.com/resources/d....mspx?mfr=true
    donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myShell.Run "net start ""MG-SOFT SNMP Trap Service""", 0, true
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci pour ta réponse mais malheureusement le service ne se lance toujours pas...

  4. #4
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 296
    Points : 3 549
    Points
    3 549
    Par défaut
    question sournoise...
    cette ligne de commande fonctionne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    net start "MG-SOFT SNMP Trap Service"
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Hello,

    Cette ligne de commande fonctionne dans un script .bat en effet

  6. #6
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Points : 304
    Points
    304
    Par défaut
    Bonjour,

    A priori tu essaies de démarrer le service via son nom complet.
    Essai avec le nom du service et pas avec le nom complet.
    (infos à chercher dans les propriétés du service)

    Exemple :
    Accès à distance au Registre --> nom complet
    RemoteRegistry --> nom du service

    net start "Accès à distance au Registre" = net start RemoteRegistry

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Le nom du service et le nom complet sont identiques malheureusement dans mon cas

  8. #8
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    et avec ceci ça donne quoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set WS = CreateObject("WScript.Shell")
    Command = "Cmd /c net start ""MG-SOFT SNMP Trap Service"" "
    Exec = WS.Run(Command,0,True)

  9. #9
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Hello,

    Je viens de tester la soluce proposé par hackoor et elle ne fonctionne malheureusement pas avec le service MG-SOFT, par contre cela fonctionne avec n'importe quel autre service....

  10. #10
    Membre confirmé Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Points : 582
    Points
    582
    Par défaut
    Bonjour,

    C'est bizarre que ça ne marche pas avec uniquement ce service.
    Es-tu certain de ta chaîne de caractère pour le nom du service?

    Sinon est-ce que c'est la même chose avec la commande sc?
    A tester d'abord en cmd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sc start "MG-SOFT SNMP Trap Service"
    Puis en vbs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myShell.Run "cmd /c net start ""MG-SOFT SNMP Trap Service""", 0, true
    Sinon, peut-être en WMI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    strService = "MG-SOFT SNMP Trap Service"
    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set colListOfServices = objWMIService.ExecQuery ("Select * from Win32_Service Where Caption = '" & strService & "'")
    For Each objService in colListOfServices
    	WScript.Echo "Starting service <" & objService.Name & ">"
    	objService.StartService()
    Next
    Est-ce qu'en lançant ce bout de code, l'affichage du nom du service est bien <MG-SOFT SNMP Trap Service>?

    Bonne continuation

  11. #11
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Oui ce service est vraiment très énervant car c'est le seul qui contient des espaces dans son nom complet ET dans son nom de service (tout du moins sur ma machine)

    Pour Pitchalov

    -J'ai testé la ligne de commande sous cmd, celle-ci fonctionne seulement si je lance la console en tant qu'administrateur.
    -Le code vbs ne donne rien
    -Le WMI je ne connais pas du tout désolé je suis vraiment un débutant en script

    Merci pour votre aide en tout cas!

  12. #12
    Membre confirmé Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Points : 582
    Points
    582
    Par défaut
    Bonjour,

    ... fonctionne seulement si je lance la console en tant qu'administrateur.
    Ca peut être une indication intéressante, qui expliquerait que tous les tests précédents ne fonctionnent pas. As-tu par hasard l'UAC d'activé?
    Peux tu lancer le script donné par hackoofr depuis une console lancée "en tant qu'administrateur" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wscript votrescript.vbs
    et voir si ça fonctionnerait mieux?

    Bonne continuation.

  13. #13
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Alors le lancement du script via la console en tant qu'administrateur fonctionne!
    Enfin une lueur d'espoir!

    Je précise que le poste où je développe fait partie d'un domaine où je suis moi même administrateur, le problème viendrait-il de là?
    Ce script devra par la suite être distribué à nos clients je n'ai donc aucune certitude qu'il fonctionnera chez eux à priori

    Merci pour cette première piste!

  14. #14
    Membre confirmé Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Points : 582
    Points
    582
    Par défaut
    Pour qu'il fonctionne chez toi comme sur les postes clients, ce script doit avoir les privilèges nécessaires pour effectuer un lancement de service. C'est-à-dire, il doit être lancé avec des droits administrateurs, et être autorisé par l'UAC si elle est activée.

    Bonne continuation.

  15. #15
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Comme il a dit Pichalov, il faut désactiver le UAC , Sinon Testez ce code (Pas Testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Dim Ws
    Set Ws = CreateObject("WScript.Shell")
    Set ProcessEnv = Ws.Environment("Process")
    NomMachine = ProcessEnv("COMPUTERNAME") 
    NomUtilisateur = ProcessEnv("USERNAME") 
    sUser = NomMachine &"\"& NomUtilisateur
    Command = "net start MG-SOFT SNMP Trap Service"
    Ws.Run "Cmd /k RunAs /profile /user:" & sUser &" "&Dblquote(Command)&""
    WScript.Sleep 2000
    Ws.Sendkeys "Votre Mot de Passe" 'A Modifier 
    Ws.Sendkeys "{ENTER}"
     
    Function Dblquote(str)
        Dblquote = chr(34) & str & chr(34)
    End Function

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/10/2008, 15h50
  2. Faut-il utiliser des underscores ou des espaces dans les noms des fichiers ?
    Par Invité dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 07/05/2008, 19h23
  3. Afficher des images avec des espaces dans le nom
    Par Space Cowboy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 15/03/2007, 07h18
  4. support des espaces dans les noms de fichiers
    Par menuge dans le forum Langage
    Réponses: 9
    Dernier message: 25/10/2006, 09h02
  5. suppression des espaces dans les noms de fichiers
    Par menuge dans le forum Général Python
    Réponses: 8
    Dernier message: 22/10/2006, 12h01

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