begin process at 2010 02 10 07:53:53
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > LISTER,DETRUIRE,LANCER PROCESSUS & SERVICES A DISTANCE

LISTER,DETRUIRE,LANCER PROCESSUS & SERVICES A DISTANCE


 Information sur la source

Note :
9,56 / 10 - par 9 personnes
9,56 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Système Classé sous :processus, service, distance Niveau :Expert Date de création :12/06/2001 Date de mise à jour :08/03/2003 16:00:52 Vu / téléchargé :38 451 / 3 745

Auteur : TheSaib

Ecrire un message privé
Commentaire sur cette source (31)
Ajouter un commentaire et/ou une note

 Description

Cet application permet de killer ou ajouter un processus, stopper un service ou relancer
Le tout a distance ou en local.
!!! Il faut que WMI soit installé !!!
Sous W2K il y est d'office ....
  

Source

  • Dim distant As Boolean 'Savoir si on test a distance
  • Dim serveur As String 'Si oui : le nom du serveur
  • Dim tipe As Boolean 'Process ou service
  • Dim run As Integer 'Nb de services lancés
  • Dim sto As Integer 'Nb de services stoppé
  • Private Sub Check1_Click()
  • If Check1.Value = 1 Then 'Clicke
  • lblserv.Visible = True
  • cmdhelp.Visible = True 'Affiche les options
  • txtserv.Visible = True
  • distant = True 'Oui pour a distance
  • Else
  • lblserv.Visible = False
  • cmdhelp.Visible = False 'Cache
  • txtserv.Visible = False
  • distant = False
  • End If
  • End Sub
  • Private Sub cmdadproc_Click()
  • cd.Filter = "Application (*.exe)|*.exe|" 'Filtre pour la boite de diag ouvrir
  • cd.ShowOpen 'Ouvre la boite de dialogue
  • test = cd.FileName 'Recupere le chemin
  • If test <> "" Then Shell (test) 'Lance le processus
  • End Sub
  • Private Sub cmddelproc_Click()
  • Dim ServiceObject As SWbemObject 'Objet WMI
  • Dim Locator As SWbemLocator 'Objet de connexion
  • Dim services As SWbemServices 'Objet services
  • Set Locator = New SWbemLocator 'Nouvelle insatance d'une connexion
  • 'Verifie si qqc est selectionné dans le listview1
  • If ListView1.SelectedItem.Selected = False Then MsgBox "Vous devez selectionné un processus", vbCritical: Exit Sub
  • 'Handle du processus
  • proc$ = ListView1.SelectedItem.SubItems(1)
  • 'Index de la ligne selectionné
  • ligne = ListView1.SelectedItem.Index
  • 'Connexion au serveur
  • Set services = Locator.ConnectServer(txtserv.Text)
  • 'Recuperation du processus selectionné
  • Set ServiceObject = services.Get("Win32_Process='" & proc & "'")
  • 'Destruction du processus
  • p = ServiceObject.Terminate
  • 'Le kill a reussi
  • If p <> 0 Then
  • MsgBox "Suppression du process " & ListView1.SelectedItem.Text & "(" & proc & ")" & " impossible", vbCritical
  • 'Le kill a echoué
  • Else: MsgBox "Suppression terminé de " & ListView1.SelectedItem.Text, vbOKOnly + vbInformation
  • End If
  • 'Maj de la liste des processus
  • maj (0)
  • End Sub
  • Private Sub cmdhelp_Click()
  • 'Aide
  • msg = "Permet de tester les services" & vbCrLf & " ou procesus sur un ordinateur distant équipé de WMI"
  • MsgBox msg, vbOKOnly + vbQuestion, "Management"
  • End Sub
  • Private Sub cmdmaj_Click()
  • 'Mise à jour
  • maj (cmdstart.Visible)
  • End Sub
  • Private Sub cmdproc_Click()
  • Dim liste 'Collection de processus
  • Dim element 'Un element de la collection
  • tipe = 0 'Processus
  • 'Affiche les bouton relatfs aux processus , cache les autres
  • cmdstart.Visible = False
  • cmdstop.Visible = False
  • frmserv.Visible = False
  • cmdadproc.Visible = True
  • cmddelproc.Visible = True
  • 'Modification du label de compte
  • lbltest.Caption = "Nb processus"
  • 'Efface la liste
  • ListView1.ListItems.Clear
  • 'Remet les en-têtes
  • ListView1.ColumnHeaders.Item(1) = "Nom"
  • ListView1.ColumnHeaders.Item(2) = "Identifiant"
  • 'Selon le test à distance ou pas
  • Select Case distant
  • Case 1:
  • 'Nom du serveur
  • serveur = txtserv.Text
  • 'Recuperation des processus
  • Set liste = GetObject("winmgmts://" & serveur).InstancesOf("Win32_Process")
  • Case 0:
  • 'Recuperation des processus
  • Set liste = GetObject("winmgmts:").InstancesOf("Win32_Process")
  • End Select
  • For Each element In liste
  • 'Insertion dans la listview
  • Set Item = ListView1.ListItems.Add(, , element.Name)
  • Item.SubItems(1) = element.Handle
  • Item.SubItems(2) = element.VirtualSize
  • Next element
  • maj (tipe)
  • End Sub
  • Private Sub cmdserv_Click()
  • Dim objcol 'Collection de service
  • tipe = 1 'SErvice
  • 'Affichage des boutons relatifs aux services cache des autres
  • cmdstart.Visible = True
  • cmdstop.Visible = True
  • frmserv.Visible = True
  • cmdadproc.Visible = False
  • cmddelproc.Visible = False
  • 'Mise a jour du label de comptage
  • lbltest.Caption = "Nb Services"
  • 'Efface la liste
  • ListView1.ListItems.Clear
  • 'En tete des colonne
  • ListView1.ColumnHeaders.Item(1) = "Nom"
  • ListView1.ColumnHeaders.Item(2) = "Etat"
  • ListView1.ColumnHeaders.Item(3) = "Description"
  • 'Selon cas a distance ou pas
  • Select Case distant
  • Case 1:
  • 'Nom du serveur
  • serveur = txtserv.Text
  • 'Recuperation a distance des services
  • Set objcol = GetObject("WinMgmts://" & serveur & "/root/cimv2").InstancesOf("Win32_service")
  • Case 0:
  • 'Recuperation en local des services
  • Set objcol = GetObject("WinMgmts:").InstancesOf("Win32_service")
  • End Select
  • For Each element In objcol
  • 'Insertion des services dans la listview
  • Set Item = ListView1.ListItems.Add(, , element.Name)
  • Item.SubItems(2) = element.Description
  • Item.SubItems(1) = element.state
  • Next element
  • 'Mise a jour
  • maj (tipe)
  • End Sub
  • Private Sub cmdstart_Click()
  • Dim ServiceObject As SWbemObject 'Objet WMI
  • Dim Locator As SWbemLocator 'Objet de connexion
  • Dim services As SWbemServices 'objet service
  • Set Locator = New SWbemLocator 'Nouvelle instance de connexion
  • 'Verifie que qqc est selectionné
  • If ListView1.SelectedItem.Selected = False Then MsgBox "Vous devez selectionné un service", vbCritical: Exit Sub
  • 'Recupere la selection
  • service$ = ListView1.SelectedItem.Text
  • ligne = ListView1.SelectedItem.Index
  • 'REgarde si il n'est pas deja lancé
  • If ListView1.SelectedItem.SubItems(1) = "Running" Then
  • MsgBox "Le service est dejà demarré"
  • Exit Sub
  • Else
  • 'SE connecte
  • Set services = Locator.ConnectServer(txtserv.Text)
  • 'Recupere le service
  • Set ServiceObject = services.Get("Win32_Service='" & service & "'")
  • 'Le demarre
  • ServiceObject.StartService
  • End If
  • 'Mise a jour
  • maj (cmdstop.Visible)
  • End Sub
  • Private Sub cmdstop_Click()
  • Dim ServiceObject As SWbemObject
  • Dim Locator As SWbemLocator
  • Dim services As SWbemServices
  • Set Locator = New SWbemLocator
  • If ListView1.SelectedItem.Selected = False Then MsgBox "Vous devez selectionné un service", vbCritical: Exit Sub
  • service$ = ListView1.SelectedItem.Text
  • ligne = ListView1.SelectedItem.Index
  • If ListView1.SelectedItem.SubItems(1) = "Stopped" Then
  • MsgBox "Le service est dejà stoppé"
  • Exit Sub
  • Else
  • On Error GoTo error
  • Set services = Locator.ConnectServer(txtserv.Text)
  • Set ServiceObject = services.Get("Win32_Service='" & service & "'")
  • 'L'arrete
  • ServiceObject.Stopservice
  • error:
  • MsgBox "Le service n'a pu etre stoppé"
  • End If
  • maj (cmdstop.Visible)
  • End Sub
  • Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)
  • ' Quand vous cliquez sur un objet ColumnHeader, le contrôle
  • ' ListView trie selon les sous-éléments de cette colonne.
  • ' Affecte à la propriété SortKey l'index de ColumnHeader - 1
  • ListView1.SortKey = ColumnHeader.Index - 1
  • ' Affecte à la propriété Sorted la valeur True afin de trier la
  • ' liste.
  • ListView1.Sorted = True
  • End Sub
  • Private Sub maj(tipe As Boolean)
  • 'Efface la list
  • ListView1.ListItems.Clear
  • run = 0 'Met a 0 le compteur de service lancé
  • sto = 0 'Idem pour les services stoppés
  • compte = 0 'Compte les processus et services
  • Select Case tipe
  • Case 0:
  • 'On met a jour les processus
  • Select Case distant
  • Case 1:
  • serveur = txtserv.Text
  • Set liste = GetObject("winmgmts://" & serveur).InstancesOf("Win32_Process")
  • Case 0:
  • Set liste = GetObject("winmgmts:").InstancesOf("Win32_Process")
  • End Select
  • For Each element In liste
  • Set Item = ListView1.ListItems.Add(, , element.Name)
  • Item.SubItems(1) = element.Handle
  • Item.SubItems(2) = element.VirtualSize
  • compte = compte + 1
  • lblcompte.Caption = compte
  • DoEvents
  • Next element
  • Case 1:
  • Select Case distant
  • Case 1:
  • serveur = txtserv.Text
  • Set objcol = GetObject("WinMgmts://" & serveur & "/root/cimv2").InstancesOf("Win32_service")
  • Case 0:
  • Set objcol = GetObject("WinMgmts:").InstancesOf("Win32_service")
  • End Select
  • For Each element In objcol
  • Set Item = ListView1.ListItems.Add(, , element.Name)
  • Item.SubItems(2) = element.Description
  • Item.SubItems(1) = element.state
  • If element.state = "Running" Then
  • run = run + 1
  • Else: sto = sto + 1
  • End If
  • compte = compte + 1
  • lblarr.Caption = "Arretés : " & sto
  • lbldem.Caption = "Demarrés : " & run
  • lblcompte.Caption = compte
  • DoEvents
  • Next element
  • End Select
  • 'lblcompte.Caption = ListView1.ListItems.Count
  • End Sub
  • Private Sub ListView1_DblClick()
  • MsgBox ListView1.SelectedItem.Text & " " & ListView1.SelectedItem.SubItems(1)
  • End Sub
Dim distant As Boolean 'Savoir si on test a distance
Dim serveur As String 'Si oui : le nom du serveur
Dim tipe As Boolean 'Process ou service
Dim run As Integer 'Nb de services lancés
Dim sto As Integer 'Nb de services stoppé
Private Sub Check1_Click()

If Check1.Value = 1 Then 'Clicke
    lblserv.Visible = True
    cmdhelp.Visible = True 'Affiche les options
    txtserv.Visible = True
    distant = True 'Oui pour a distance
Else
    lblserv.Visible = False
    cmdhelp.Visible = False 'Cache
    txtserv.Visible = False
    distant = False
End If


End Sub

Private Sub cmdadproc_Click()
cd.Filter = "Application (*.exe)|*.exe|" 'Filtre pour la boite de diag ouvrir
cd.ShowOpen 'Ouvre la boite de dialogue
test = cd.FileName 'Recupere le chemin
If test <> "" Then Shell (test) 'Lance le processus
End Sub

Private Sub cmddelproc_Click()

Dim ServiceObject As SWbemObject 'Objet WMI
Dim Locator As SWbemLocator 'Objet de connexion
Dim services As SWbemServices 'Objet services

Set Locator = New SWbemLocator 'Nouvelle insatance d'une connexion

'Verifie si qqc est selectionné dans le listview1
If ListView1.SelectedItem.Selected = False Then MsgBox "Vous devez selectionné un processus", vbCritical: Exit Sub

'Handle du processus
proc$ = ListView1.SelectedItem.SubItems(1)

'Index de la ligne selectionné
ligne = ListView1.SelectedItem.Index

'Connexion au serveur
Set services = Locator.ConnectServer(txtserv.Text)

'Recuperation du processus selectionné
Set ServiceObject = services.Get("Win32_Process='" & proc & "'")
        'Destruction du processus
        p = ServiceObject.Terminate

'Le kill a reussi
If p <> 0 Then
MsgBox "Suppression du process " & ListView1.SelectedItem.Text & "(" & proc & ")" & " impossible", vbCritical
'Le kill a echoué
Else: MsgBox "Suppression terminé de " & ListView1.SelectedItem.Text, vbOKOnly + vbInformation
End If

'Maj de la liste des processus
maj (0)
End Sub

Private Sub cmdhelp_Click()
'Aide
msg = "Permet de tester les services" & vbCrLf & " ou procesus sur un ordinateur distant équipé de WMI"
MsgBox msg, vbOKOnly + vbQuestion, "Management"
End Sub

Private Sub cmdmaj_Click()
'Mise à jour
maj (cmdstart.Visible)
End Sub

Private Sub cmdproc_Click()
Dim liste 'Collection de processus
Dim element 'Un element de la collection

tipe = 0 'Processus

'Affiche les bouton relatfs aux processus , cache les autres
cmdstart.Visible = False
cmdstop.Visible = False
frmserv.Visible = False
cmdadproc.Visible = True
cmddelproc.Visible = True

'Modification du label de compte
lbltest.Caption = "Nb processus"

'Efface la liste
ListView1.ListItems.Clear

'Remet les en-têtes
ListView1.ColumnHeaders.Item(1) = "Nom"
ListView1.ColumnHeaders.Item(2) = "Identifiant"

'Selon le test à distance ou pas
Select Case distant
    Case 1:
        'Nom du serveur
        serveur = txtserv.Text
        'Recuperation des processus
        Set liste = GetObject("winmgmts://" & serveur).InstancesOf("Win32_Process")
        
    Case 0:
        'Recuperation des processus
        Set liste = GetObject("winmgmts:").InstancesOf("Win32_Process")
               
End Select

For Each element In liste
            'Insertion dans la listview
            Set Item = ListView1.ListItems.Add(, , element.Name)
            Item.SubItems(1) = element.Handle
            Item.SubItems(2) = element.VirtualSize
Next element
maj (tipe)
End Sub


Private Sub cmdserv_Click()

Dim objcol 'Collection de service
tipe = 1 'SErvice

'Affichage des boutons relatifs aux services cache des autres
cmdstart.Visible = True
cmdstop.Visible = True
frmserv.Visible = True
cmdadproc.Visible = False
cmddelproc.Visible = False

'Mise a jour du label de comptage
lbltest.Caption = "Nb Services"

'Efface la liste
ListView1.ListItems.Clear

'En tete des colonne
ListView1.ColumnHeaders.Item(1) = "Nom"
ListView1.ColumnHeaders.Item(2) = "Etat"
ListView1.ColumnHeaders.Item(3) = "Description"

'Selon cas a distance ou pas
Select Case distant
    Case 1:
    
    'Nom du serveur
    serveur = txtserv.Text
    
    'Recuperation a distance des services
    Set objcol = GetObject("WinMgmts://" & serveur & "/root/cimv2").InstancesOf("Win32_service")
    
    Case 0:
    'Recuperation en local des services
    Set objcol = GetObject("WinMgmts:").InstancesOf("Win32_service")
End Select

For Each element In objcol

    'Insertion des services dans la listview
    Set Item = ListView1.ListItems.Add(, , element.Name)
    Item.SubItems(2) = element.Description
    Item.SubItems(1) = element.state
Next element

'Mise a jour
maj (tipe)
End Sub

Private Sub cmdstart_Click()
Dim ServiceObject As SWbemObject 'Objet WMI
Dim Locator As SWbemLocator 'Objet de connexion
Dim services As SWbemServices 'objet service

Set Locator = New SWbemLocator 'Nouvelle instance de connexion

'Verifie que qqc est selectionné
If ListView1.SelectedItem.Selected = False Then MsgBox "Vous devez selectionné un service", vbCritical: Exit Sub

'Recupere la selection
service$ = ListView1.SelectedItem.Text
ligne = ListView1.SelectedItem.Index

'REgarde si il n'est pas deja lancé
If ListView1.SelectedItem.SubItems(1) = "Running" Then
MsgBox "Le service est dejà demarré"
Exit Sub

Else
'SE connecte
Set services = Locator.ConnectServer(txtserv.Text)

'Recupere le service
Set ServiceObject = services.Get("Win32_Service='" & service & "'")
        'Le demarre
        ServiceObject.StartService
End If

'Mise a jour
maj (cmdstop.Visible)
End Sub

Private Sub cmdstop_Click()
Dim ServiceObject As SWbemObject
Dim Locator As SWbemLocator
Dim services As SWbemServices
Set Locator = New SWbemLocator

If ListView1.SelectedItem.Selected = False Then MsgBox "Vous devez selectionné un service", vbCritical: Exit Sub

service$ = ListView1.SelectedItem.Text
ligne = ListView1.SelectedItem.Index

If ListView1.SelectedItem.SubItems(1) = "Stopped" Then
MsgBox "Le service est dejà stoppé"
Exit Sub

Else
On Error GoTo error
Set services = Locator.ConnectServer(txtserv.Text)
Set ServiceObject = services.Get("Win32_Service='" & service & "'")
        'L'arrete
        ServiceObject.Stopservice
error:
    MsgBox "Le service n'a pu etre stoppé"
End If
maj (cmdstop.Visible)
End Sub

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)
   ' Quand vous cliquez sur un objet ColumnHeader, le contrôle
   ' ListView trie selon les sous-éléments de cette colonne.
   ' Affecte à la propriété SortKey l'index de ColumnHeader - 1
   ListView1.SortKey = ColumnHeader.Index - 1
   ' Affecte à la propriété Sorted la valeur True afin de trier la
   ' liste.
   ListView1.Sorted = True
End Sub

Private Sub maj(tipe As Boolean)

'Efface la list
ListView1.ListItems.Clear

run = 0 'Met a 0 le compteur de service lancé
sto = 0 'Idem pour les services stoppés
compte = 0 'Compte les processus et services

Select Case tipe
Case 0:
    'On met a jour les processus
    Select Case distant
    Case 1:
        serveur = txtserv.Text
        Set liste = GetObject("winmgmts://" & serveur).InstancesOf("Win32_Process")
        
    Case 0:
        Set liste = GetObject("winmgmts:").InstancesOf("Win32_Process")
               
End Select

For Each element In liste
            Set Item = ListView1.ListItems.Add(, , element.Name)
            Item.SubItems(1) = element.Handle
            Item.SubItems(2) = element.VirtualSize
            compte = compte + 1
            lblcompte.Caption = compte
            DoEvents
            
Next element

Case 1:

Select Case distant
    Case 1:
    serveur = txtserv.Text
    Set objcol = GetObject("WinMgmts://" & serveur & "/root/cimv2").InstancesOf("Win32_service")
    
    Case 0:
    
    Set objcol = GetObject("WinMgmts:").InstancesOf("Win32_service")

End Select

For Each element In objcol
    Set Item = ListView1.ListItems.Add(, , element.Name)
    
        Item.SubItems(2) = element.Description
        Item.SubItems(1) = element.state
            
        If element.state = "Running" Then
            run = run + 1
            Else: sto = sto + 1
        End If
        compte = compte + 1
        lblarr.Caption = "Arretés : " & sto
        lbldem.Caption = "Demarrés : " & run
        lblcompte.Caption = compte
        
        DoEvents
Next element

End Select
'lblcompte.Caption = ListView1.ListItems.Count

End Sub

Private Sub ListView1_DblClick()
MsgBox ListView1.SelectedItem.Text & " " & ListView1.SelectedItem.SubItems(1)
End Sub
    

 Conclusion

Il y a le Zeep  

*
08/030/03 : Mise à jour d'un bug lorsque que la description d'un service etait null

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip JOYSTICK , MANETTE GESTION EXEMPLE
Source avec Zip PUISSANCE DE 2 : CALCUL
ADRESSE IP PAR L'API WINSOCK
Source avec Zip Source avec une capture VALIDATION XML
CREATION DE FORM PAR API

 Sources de la même categorie

Source avec Zip REMOTE SOUND AND VLC par sonataIII
Source avec Zip Source avec une capture INFO MÉMOIRE par 3aloula
Source avec Zip Source avec une capture CHANGER L'ICONE ET LE NOM D'UN LECTEUR DE CARTE par Sechaud
Source avec Zip Source avec une capture SYSTRAY + BALLOON - VARIANTE AVEC TEXTE DANS L'ICÔNE par jack
Source avec Zip Source avec une capture DATE-HEURE DE LANCEMENT D'UN PROGRAMME par jack

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) COMMENT DÉMARRER UN PROCESSUS SUR PC DISTANT DE MANIÈRE CACH... par violent_ken
Source avec Zip Source avec une capture Source .NET (Dotnet) YET ANOTHER (REMOTE) PROCESS MONITOR par violent_ken
Source avec Zip Source avec une capture Source .NET (Dotnet) COMMENT DÉTECTER LES PROCESSUS CACHÉS (VIRUS, ROOTKITS...) +... par violent_ken
Source avec Zip Source avec une capture Source .NET (Dotnet) YET ANOTHER PROCESS MONITOR par violent_ken
Source avec Zip Source avec une capture SYSTEM INFO par draluorg

Commentaires et avis

Commentaire de keopsk le 26/04/2002 10:51:51

lorsque je demande la liste des services ou des process qui tournent sur un serveur distant j'ai l'erreur suivante :
       Erreur d'exécution -2147217405(80041003)
       Erreur automation

-  le WinMgmts tourne bien  sur le serveur
- j'ai exécuté le prog directement sur le serveur, il marche
- j'ai demandé l'affichage en mettant le nom de ma machine  (locale) entant que serveur, le programme marche

mais j'ai toujours la même erreur lorsque j'essaye d'accéder à un serveur distant

Merci pour votre réponse

Commentaire de madVinz le 07/07/2002 02:35:16

Bien joué !!!!! mais je me demande si ca n'incite pas un peu a des pratiques douteuses ???

Commentaire de TheSaib le 07/07/2002 13:31:07 administrateur CS

no parcequ'il te faut des droits sur la machines distantes

Commentaire de madVinz le 24/07/2002 03:27:19

ok ;-)

Commentaire de TheSaib le 08/03/2003 16:02:25 administrateur CS

Source MISE A JOUR

Commentaire de Hobby le 22/04/2003 01:15:11

Et bien cela ne fonctionne pas correctement:
Je veux lancer (par exmple notepad.exe) sur un serveur distant mais dans le réseau local sur le domaine (le domaine controleur justement) mais l'application ce lance localement. Donc pour être claire en tant que adminstrateur je lance d'un client (win2000) un soft sur le serveur win2000. (attention j'ai pas dit que le client était logé sur le compte administateur, mais avec un compte administrateur).

Il y a un truc docteur ?

Merci
Olivier

Commentaire de TheSaib le 09/06/2003 19:41:05 administrateur CS

http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/winxppro/proddocs/wmi_add_user_or_group.asp


VOs probleme sont tous dues a des questions de droits !!

Commentaire de blazman34 le 19/01/2004 19:01:02

J'ai bien compris qu'il faut avoir accés à la machine distante.Mais ya til moyen de rajouter à la commande le nom et le mot de passe de l'utilisateur avec lequel on se connecte.
Par exemple dans cette commande ou peut on spécifier cela :

"set OWmi=
         getobject("winmgmts://217.128.46.111/root/cimv2")"

merci d'avance

Commentaire de TheSaib le 19/01/2004 19:07:23 administrateur CS


Set services = Locator.ConnectServer(txtserv.Text,"root/cimv2","lamachine\administrator", "Password")
)

CA devrait fonctionner

Commentaire de blazman34 le 20/01/2004 20:11:54

escuse moi mais je suis tout nouveau dans la programmation en visual et je doit dire que ca me parait assez diffent du C,C++, java et delphi que je conner mieu.
Le script que je veu utiliser est le suivant :

dim OWmi
set OWmi=getobject("winmgmts://127.0.0.1/root/cimv2")
Set Les_IExplore=OWmi.ExecQuery("Select * from Win32_Process Where Name='IExplore.exe'")
for Each Process in Les_IExplore
Process.Terminate(0)
Next

Donc la ligne de code que tu m'a donner je doit simplement la rajouter au script ou bien il faut faire quelques choses avec la variable OWmi???
merci d'avance.

Commentaire de blazman34 le 20/01/2004 20:16:52

Est ce ka la place de "administrator" je peux mettre un autre nom d'utlisateur.
En gros je m'explique sur ce script, jaimerai kil faire ce ki la a faire sur une machine distante ou l'utilisateur administrateur peut etre different que sur ma machine.
VOila

Commentaire de TheSaib le 20/01/2004 21:51:44 administrateur CS

oui on peut mettre autre chose que administrator.

Je vous conseille de faire des recherches sur le thème WMI , car cette syntaxe n'appartien pas au langage VB mais bien à la technologie WMI !

Commentaire de blazman34 le 20/01/2004 23:54:38

oui en effet c ce ke jai fait mais bon pour l'instant je ne trouve pas de site explicant bien ce thème.Je c juste ke WMI sert à avoir des information ou a faire certaine action sur une machine distante de technolie WIn200
Pour ne rien te cacher je suis étudiant et donc ce petit script donas le cadre d'un cours sur l'étude de WIN2000/XP et W2000server.
Je n'est pas compris si Il suffit juste que j'insere la ligne de code que tu m'as fourni dans mon code...
Pourrais tu modifier le petit script que j'ai ecrit afin qu'il puisse faire ce ke souhaite???
(En conservant les meme nom de variables comme ca je pourrais mieux voir la différence et mieu comprendre)
je te remercie de ta patience.

Commentaire de blazman34 le 21/01/2004 00:02:15

un dernier truc kan j'ai essayer par curiosité d'insérer ta ligne dans mon script.Un message apparait : "Objet recquis :txtserv.Text"
Je me poser justement la question en lisant ta ligne à koi correspond cela???
VOila jesper ke tu pourrait mexpliquer cela en plus, de la modification de mon script
merci d'avance

Commentaire de TheSaib le 21/01/2004 00:32:46 administrateur CS

la ou je suis je ne peux pas tester de code pour le moment :)

mais txtserv.text correspond a la textbox comportant le nom du serveur distant

telecharge le zip tu verras

Commentaire de blazman34 le 21/01/2004 13:21:30

Ce que je veu faire est simplement un petit script dans un notepad, ce n'est pas un application compiler...
Je c pas si tu l'aver bien compris.DOnc c peut etre pour ca que ta ligne me fait remonter une erreur. Tout comme ton script (plus haut dans le forum) lorsque je le copier dans le blo cnote et ke je l'enregistre en .vbs, il me remonte pas mal d'erreur.
Désoler pour mon ignorance.....
jattend de toute facon la modification de mon script avec impatience, je pense ke ca te prendra 3h de toute facon.
Merci encore

Commentaire de evilo le 10/02/2004 12:18:09

Salut,
Super ! vraiment...plus ça va et plus je me dis que tu dois passer la majeure partie de ton temps sur VB6 ! ou alors tu bosses dans le dev (ça aide :o) ) Merci pour ce prog qui va m'aider à gérer le service Messenger pour mon prog de netsend...bon boulot, bonne matière grise, et surtout bonne continutation...
Evilo.

Commentaire de dionysos6868 le 05/03/2004 06:46:38

bon boulot, code bien commenter ca fait plaisir car c'est rare de nos jour lol.

parcontre y'a t'il moyen de le fair marche via internet , et ceux n'est pas a des fin de piratage mais a des fin de surveiller mon ordi a distance car je bosse a 70 km de chez moi.

Merci

Commentaire de trifouille le 26/03/2004 15:33:12

Voici une petite extrapolation du code précedent:

Ce VB permet de lister les taches executées sur une machine distante d'un autre domaine.
Bien evidement il vous faut un compte dans le domaine cible.
Accessoirement, le pgm VB kill le process Notepad, au passage ...






Private Sub Command8_Click()

Dim Locator As SWbemLocator 'Objet de connexion
Dim services As SWbemServices 'Objet services
Dim ListeProcess
Dim Process

Set Locator = New SWbemLocator 'Nouvelle insatance d'une connexion

'Connexion au serveur

Set services = Locator.ConnectServer("Nom_de_la_Machine ou @Ip ", , "DOMAINE\CompteUtilisateur", "MotdePasse_du_CompteUtilisateur")

Set ListeProcess = services.ExecQuery("select * from Win32_Process")
For Each Process In ListeProcess
    If Process.Properties_.Item("Name") = "notepad.exe" Then
        Process.Terminate
    End If

    List1.AddItem Process.Properties_.Item("Name") + " is " + str$(Process.Properties_.Item("ProcessId"))
Next



'Le kill a reussi
If p &lt;&gt; 0 Then
    MsgBox "Suppression du process impossible"
    'Le kill a echoué
Else
    MsgBox "Suppression terminé "
End If



End Sub

Commentaire de sebash le 23/04/2004 16:52:48

Je n'arrive pas à comprendre comment on peut ajouter un processus à distance avec ce bout de code :
"Private Sub cmdadproc_Click()
cd.Filter = "Application (*.exe)|*.exe|" 'Filtre pour la boite de diag ouvrir
cd.ShowOpen 'Ouvre la boite de dialogue
test = cd.FileName 'Recupere le chemin
If test &lt;&gt; "" Then Shell (test) 'Lance le processus
End Sub" (extrait du projet dans le .zip)

Automatiquement, le processus sera lancé en local.... comment modifier ce bout de code pour que le processus se lance sur le poste distant ???

Merci pour votre aide ;)

Seb

Commentaire de ManDeq59 le 30/06/2004 11:36:31

Je suis en NT4 et quand j'essai de lister les process d'un poste XP, il me marque toujours permission refusée.

Quelqu'un aurati-il une idée ???

merci d'avance

Commentaire de pjouy le 19/08/2004 23:48:33

Bonjour,

J'ai repris une partie de votre code pour vérifier si mon programme est déjà lancé dans les processus, afin qu'il ne puisse pas être lancé une 2ème fois.
Le code marche parfaitement sous XP, mais pas sous 2000 : je peux lancer mon programme autant de fois que je le veux.
Voici le code que j'ai repris :
Dim liste 'Collection de processus
Dim element 'Un element de la collection

Set liste = GetObject("winmgmts:").InstancesOf("Win32_Process") 'Récupération des processus en cours d'exécution

For Each element In liste
            'Insertion dans la listview
            Set Item = ListView.ListItems.Add(, , element.Name)
            If element.Name = "monprog.exe" Then
                Label_CompteurProcess.Caption = Val(Label_CompteurProcess.Caption) + 1
                If Val(Label_CompteurProcess.Caption) = 2 Then
                    MsgBox "Le programme est déjà lancé."                    
                    Unload Me
                    Exit Sub
                End If
            End If
Next element

Commentaire de webdesignasp le 14/09/2004 14:08:13

Pareil que dionysos6868,

"y'a t'il moyen de le fair marche via internet ?"

car moi aussi je voudrais pouvoir lancer des services sur mon poste perso.

Commentaire de hijodelaluna le 22/07/2005 16:24:35

soit je suis aveugle, soit il n y est plus, mais ou trouver l executablre direct svp ?
je ne voi que les sources ...
et ce petit logiciel m intéresse ^_^
merki ^_^

Commentaire de ultimafight le 29/07/2005 00:30:29

PAs mal cette source :p
Par contre j'ai un peut pres la meme chose sauf fait sous un formulaire ACCESS
JE recup les Services de machine selectionné sa remplis ma table
Puis j'ai implémenté un liste de choix pour :
l'etat du service
le mode de démarrage
quand je change l'etat du service, aucun probleme sa stop ou démarre le service
par contre je n'arrive pas a changer le mode de démarrage
donc d'où ma question :
la propriete StartMode est elle modifiable ou en lecture seule,
ou y a t'il autre chose que cette fonction ?

mon bout de code :

Private Sub ModeDemarre_Change()
strComputer = Nomordinateur
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colSWbemObjectSet = objSWbemServices.ExecQuery("Select * from Win32_Service where Name=" & "'" & [IDservices] & "'" & "")
If ModeDemarre = "Auto" Then
For Each objSwbemObject In colSWbemObjectSet
        objSwbemObject.startmode = "Auto"
        ee = objSwbemObject.Put_()
    Next
End If

Merci de votre aide :p

Commentaire de violent_ken le 10/12/2005 23:30:10

Salut TheSaib. Très bon programme ! Serait-il possible que je l'utilise dans mon code (sans le modifier) en te citant ? Merci d'avance.
@+

Commentaire de Azwinek le 02/10/2006 23:47:50

c'est cool ton programme
ma question c'est est ce qu'on peut installer le WMI dans WIN98
dans le cas contraire s'il y a une autre methode s'éxecutant a partir de la plupart des  versions de windows surtout win98 et xp
et merci....

Commentaire de nerix27 le 25/10/2006 11:00:49

Bravo pour ton code...

Même question que SEBASH : comment exécuter un processus à distance ?
Ta procédure cmdadproc_Click démarrera le processus sur la machine locale...

Commentaire de gbob le 15/03/2007 20:45:48

Dans ton code ne faudrait il pas remplacer ceci

# Else
# On Error GoTo error
# Set services = Locator.ConnectServer(txtserv.Text)
# Set ServiceObject = services.Get("Win32_Service='" & service & "'")
# 'L'arrete
# ServiceObject.Stopservice
# error:
# MsgBox "Le service n'a pu etre stoppé"
# End If
# maj (cmdstop.Visible)
# End Sub

par cela pour eviter d'afficher à chaque fois le message : "Le service n'a pu être stoppé"

# Else
# On Error GoTo error
# Set services = Locator.ConnectServer(txtserv.Text)
# Set ServiceObject = services.Get("Win32_Service='" & service & "'")
# 'L'arrete
# ServiceObject.Stopservice
# End If
# maj (cmdstop.Visible)
# Exit sub
# error:
# MsgBox "Le service n'a pu etre stoppé"
# End Sub

@+

Commentaire de bnisaid le 07/06/2007 20:43:48

erorrrrrrrrrrr
"winmgmts://EZ-NET/SERVEUR"

Commentaire de bnisaid le 07/06/2007 20:45:13

ce quoi un WMI ?!!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Fermer un service proprement [ par florentp ] Bonjour à tous,Je voudrai savoir comment on fait pour fermer proprement un Service. On fait comme pour un processus "normal" ou y a un autre moyen?En droit sur service nt [ par PBDLpc ] bonjour &#224; tous, j'ai d&#233;velopp&#233; un service NT qui n'apparait pas dans la liste des applications du gestionnaire de taches de windows xp lancer une appli à distance avec winmgmts [ par centralvince ] Voilà, j'ai réussi à lancer un processus à distance comme cela :Set process = GetObject("winmgmts:{impersonationLevel=impersonate}!//ordianateur_dista Processus à Distance [VB2005] [ par irsoy ] Slt amis, J'ais 2 PC (PC1 &amp; PC2) qui sont connectés en reseau local. Je veut developper une application en VB2005 et l'installée sur le PC1 e Executable dans un service [ par nerone21 ] Bonjour...Alors j'ai fait un programme que je ne veut pas que l'utilisateur puisse arreter... donc création d'un service dans lequel j'ai mis un timer Lancer un service à distance [ par Portos67 ] Bonjour à tous,Voila j'ai un soucis pour démarrer un service à distance, en sachant que j'ai les droits admin sur les postes, j'arrive à connaître le Exe fonctionne pas en tant que service ? [ par Louu34 ] Bonjour a tous, Voila je développe une application a distance, pour executer certaine commande a distance j'ai crée un service. Pour executer ces comm comment Controler une application lancer dans le processus [ par elmobile ] salut tous les amisje vous demande si possible à m'aider à trouver une solution de ce problème et merci d'avance.alors voila :j'ai une application app masquer ou bloquer l'arrêt d'un processus [ par Genildf ] Bonjour je souhaite masquer ou bloquer l'arrêt de mon programme par le gestionnaire de taches je 'ait que en VB6 il y a app.taskvsible = false pour


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,076 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales