Killer + Lancer une application via un script

Bonjour,

je cherche actuellement un script permettant de killer et relancer une application qui se trouve sur un serveur win2003.
Ce script doit pouvoir être lancé par un utilisateur lambda.

Actuellement, nous utilisons psTools (n ensemble d'outils en lignes de commandes permettant d'administrer Windows NT et 2000, aussi bien en réseau qu'en local).
Malheureusement, depuis notre changement d''antivirus, ce dernier bloque l'outil, pstools qui nous était jusqu'alors bien utile.

Du coup je cherche actuellement un moyen de substitution permettant de réaliser la même chose, sans utilisé d'utilitaire. (en gros tout cela doit à priori se faire par le systeme)

Merci d'avance pour votre aide.

3 réponses

  1. re:

    Pour Killer le processus :

    ici -> [ iexplorer.exe ]

    Dim objWMIService, colProcessList, objProcess
    
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\.\root\cimv2")
    
    Set colProcessList = objWMIService.ExecQuery _
        ("Select * from Win32_Process Where Name = 'iexplore.exe'")
    
    For Each objProcess in colProcessList
    	objProcess.Terminate()
    Next
    
    Set objWMIService = Nothing
    Set colProcessList = Nothing
    
    WScript.Quit(0)
    


    Pour lancer le processus :

    Set objShell = CreateObject("WScript.Shell")
    
    objShell.Run "iexplorer.exe"
    
    Set objShell = Nothing
    
    WScript.Quit(0)
    


    n.b. Si le programme n'est pas connu de windows,
    (i.e. pas dans le path connu)

    Il te faut spécifier le chemin complet lors du lancement :

    objShell.Run "C:\Test\MonProgramme.exe"

    Cdt

    Lupin
    1. A vrai dire il s'agit d'un processus ".exe", permettant de récupérer des numéros de codes bars.
      Du coup, pas un service.
      Saurais-tu si cela fonctionnerait tout de même ?

      Merci d'avance,

      Configuration: Windows 7 / Internet Explorer 9.0
      1. Bonjour,

        S'il s'agit d'un Service :

        Pour l'arrêt :

        '---------------------------------------------------------------------------------------------------
        '
        ' Fichier VBScript : "Stop Service.vbs"
        '
        ' Démarrage du service NomService sur [ Serveur ]
        '---------------------------------------------------------------------------------------------------
        '
        
          Dim objWMIService, objService, colServiceList
          Dim Ordinateur, objReseau, Reponse
        
          Set objReseau = CreateObject("WScript.Network")
          Ordinateur = LCase(objReseau.ComputerName)
        
          Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & Ordinateur & "\root\cimv2")
          Set colServiceList = objWMIService.ExecQuery("Select * from Win32_Service where Name='Service'")
        
          For Each objService In colServiceList
            If (objService.Name = "Service") Then
              Reponse = objService.StopService()
            End If
          Next
        
          Set objReseau = Nothing
          Set objWMIService = Nothing
          Set colServiceList = Nothing
        
        WScript.Quit(0)
        


        Pour le démarrage :

        '---------------------------------------------------------------------------------------------------
        '
        ' Fichier VBScript : "Start Service.vbs"
        '
        ' Démarrage du service NomService sur [ Serveur ]
        '---------------------------------------------------------------------------------------------------
        '
            
          Dim objWMIService, objService, colServiceList
          Dim Ordinateur, objReseau, Reponse
        
          Set objReseau = CreateObject("WScript.Network")
          Ordinateur = LCase(objReseau.ComputerName)
        
            
          Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & Ordinateur & "\root\cimv2")
          Set colServiceList = objWMIService.ExecQuery("Select * from Win32_Service where Name='Service'")
        
          For Each objService In colServiceList
            If (objService.Name = "NomService") Then
              Reponse = objService.StartService()
            End If
          Next
        
          Set objReseau = Nothing
          Set objWMIService = Nothing
          Set colServiceList = Nothing
        
        WScript.Quit(0)
        


        Remplacer le mot "NomService" par le nom du service.

        Cdt

        Lupin