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 :

Seven ne veut pas démarrer mes services avec VBS


Sujet :

VBScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 109
    Points : 46
    Points
    46
    Par défaut Seven ne veut pas démarrer mes services avec VBS
    Bonjour à tous,

    J'ai actuellement un problème avec ce fameux spooler d'impression sous Seven (Pour ceux qui connaissent) et je tente de contourner le problème en créant des batch et des scripts vbs pour que l'utilisateur le redémarre facilement en attendant la résolution du problème.

    Le problème c'est qu'aucun de mes batch et Script VBS ne fonctionne sous seven alors que sous XP ça fonctionne. (Après de multiple recherche sur le net).

    Aller, je mets le dernier code 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
    16
    17
    18
    19
    20
    21
    22
    23
    strComputer = "BAI506"
     
    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set objLanManServer = objWMIService.Get("Win32_Service.Name='spooler'")
     
    Set colServiceList = objWMIService.ExecQuery("Associators of " _
        & "{Win32_Service.Name='LanManServer'} Where " _
            & "AssocClass=Win32_DependentService " & _
          "Role=Antecedent" )
     
    For Each objService in colServiceList
    objService.StopService()   
    Next
     
    WScript.Sleep 20000
    Return = objLanManServer.StopService()
     
    WScript.Sleep 10000
    Return = objLanManServer.StartService()
     
    For Each objService in colServiceList
    objService.StartService()   
    Next
    Il y a peu être un problème avec le strComputer ou le nom du service qui n'est pas le même sous Seven (pourtant j'ai regardé)

    Je ne sais pas non plus à quoi correspond \root\cimv2, on dirait du linux....

    Merci d'avance !

  2. #2
    Membre éprouvé Avatar de cubitus91
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 726
    Points : 933
    Points
    933
    Par défaut
    hello,
    L'emploi du StrComputer = "." par défaut défini un ordinateur local. Donc, si tu met un nom en général c'est pour accèder à distance.
    Apres pour ton problème voici une version allégé mais avec la gestion du code retour.
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    Option Explicit 
    ManageService
     
    Private Function ManageService()
    'local Constante
    Const intSleep = 15000
    Const strComputer = "."
    Const strServiceName = "Spooler"
    'local var
    Dim ObjectWmiService,ColServiceList,ObjectService,intReturnState
    Set ObjectWmiService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set ColServiceList = ObjectWmiService.ExecQuery("Select * from Win32_Service where Name='" & strServiceName  & "'")
    For Each ObjectService In ColServiceList
     WScript.Echo "Stop Service: " & ObjectService.caption
     intReturnState = ObjectService.StopService() 
     WScript.Echo "Stop Service state is: " & StateOfService(intReturnState)
    Next 
    End Function 
     
    Private Function StateOfService(pintReturnValue)
    WScript.Echo pintReturnValue
    Select Case pintReturnValue
    Case 0 StateOfService = "Success"
    Case 1 StateOfService = "Not Supported"
    Case 2 StateOfService = "Access Denied"
    Case 3 StateOfService = "Dependent Services Running"
    Case 4 StateOfService = "Invalid Service Control"
    Case 5 StateOfService = "Service Cannot Accept Control"
    Case 6 StateOfService = "Service Not Active"
    Case 7 StateOfService = "Service Request timeout"
    Case 8 StateOfService = "Unknown Failure"
    Case 9 StateOfService = "Path Not Found"
    Case 10 StateOfService = "Service Already Stopped"
    Case 11 StateOfService = "Service Database Locked"
    Case 12 StateOfService = "Service Dependency Deleted"
    Case 13 StateOfService = "Service Dependency Failure"
    Case 14 StateOfService = "Service Disabled"
    Case 15 StateOfService = "Service Logon Failed"
    Case 16 StateOfService = "Service Marked For Deletion"
    Case 17 StateOfService = "Service No Thread"
    Case 18 StateOfService = "Status Circular Dependency"
    Case 19 StateOfService = "Status Duplicate Name"
    Case 20 StateOfService = "Status - Invalid Name"
    Case 21 StateOfService = "Status - Invalid Parameter"
    Case 22 StateOfService = "Status - Invalid Service Account"
    Case 23 StateOfService = "Status - Service Exists"
    Case 24 StateOfService = "Service Already Paused"
    Case Else StateOfService = "Uknow Code"
    End Select 
    End Function

    Tu fais un arret des dépendances aussi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set colServiceList = objWMIService.ExecQuery("Associators of " _
        & "{Win32_Service.Name='LanManServer'} Where " _
            & "AssocClass=Win32_DependentService " & _
          "Role=Antecedent" )
    je pense que tu as une erreur sur le service name:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set colServiceList = objWMIService.ExecQuery("Associators of " _
    & "{Win32_Service.Name='spooler'} Where " _
    & "AssocClass=Win32_DependentService " & _
    "Role=Antecedent" )
    Je pense que tu dois avoir un problème d'accès refusé pour ton service.
    Cordialement
    Le tag est bien utile, alors pensez y !

  3. #3
    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
    Salut !

    Cela fait partie des outils que je conserve (encore) en DOS :

    Spooler.cmd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ECHO ON
    NET STOP SPOOLER /Y
    NET START SPOOLER
    NET START LPDSVC
    Cela fonctionne peut-être encore sous Seven ...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 109
    Points : 46
    Points
    46
    Par défaut
    Merci cubitus91 je testerais cela dès que la machine seven ce libérera mais sous XP ça fonctionne. Pour le code, je ne comprends pas tous car j'ai pioché par ci par là.

    J'ai remarqué que sous XP il n'y a pas de dépendance alors qu'il y en a sous seven...

    Cachlab => J'avais essayé ça aussi mais ça ne fonctionne pas sous seven malheureusement (ou alors ça ne fonctionne pas à cause de mon problème).

    Je fais un retour après essai ! Encore merci !

  5. #5
    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
    Salut !
    Je n'ai pas de windows 7 sous le coude pour tester ...
    Néanmoins, j'ai trouvé un sujet sur le net qui évoque ce souci.
    Il semble en effet que ton problème soit lié aux dépendances.

    Pourras-tu essayer ceci ?
    Spooler.cmd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ECHO ON
    SC CONFIG SPOOLER DEPEND= RPCSS
    NET STOP SPOOLER /Y
    NET START SPOOLER

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 28
    Points : 26
    Points
    26
    Par défaut
    Bonsoir

    Sur Seven le net stop et net start spooler fonctionne dans un CMD ouvert en tant qu'administrateur le problème vient peut être de la.

Discussions similaires

  1. [SOLARIS] Pc netLink 1.2 ne veut pas démarrer
    Par wodel dans le forum Solaris
    Réponses: 1
    Dernier message: 07/11/2007, 15h01
  2. Eclipse WTP ne veut pas créer de services Web
    Par DJ Caësar 9114 dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 30/10/2007, 09h32
  3. Démarrer un service avec des arguments
    Par erlou dans le forum VBScript
    Réponses: 1
    Dernier message: 24/07/2007, 12h03
  4. tomcat ne veut pas démarrer mon projet
    Par diamonds dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 10/12/2006, 01h48
  5. PC ne veut pas démarrer en mode sans échec
    Par jgaslain dans le forum Ordinateurs
    Réponses: 11
    Dernier message: 23/11/2006, 20h24

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