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

VBA Outlook Discussion :

connaitre les utilisateurs connectés


Sujet :

VBA Outlook

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 94
    Points : 68
    Points
    68
    Par défaut connaitre les utilisateurs connectés
    Bonjour,

    Je souhaiterai savoir si mon camarade de travail à outlook démarré sur ca machine, par une fonction VBA bien sur.

    je connais son adresse email, son user windows et son IP

    PS: je n'espionne personne, c'est pour faire court et vous épargner le contexte de cette question

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,

    ceci devrait faire l'affaire à condition d'avoir les droits suffisants et que le service soit démarré.

    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
    Sub test_OutlookProcessRunning()
    ComputerName = InputBox("Quel PC tester ?")
    MsgBox OutlookProcessRunning(ComputerName)
    End Sub
     
    Function OutlookProcessRunning(strComputer)
     
    OutlookProcessRunning = False
        On Error Resume Next
     
        Dim objWMIService
        Dim colProcessList
        Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
        Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'OUTLOOK.EXE'")
        If colProcessList.Count = 0 Then
            OutlookProcessRunning = False
            Else: OutlookProcessRunning = True
        End If
     
        Set objWMIService = Nothing
        Set colProcessList = Nothing
        Set objProcess = Nothing
     
     
    End Function

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 94
    Points : 68
    Points
    68
    Par défaut
    merci pour ta réponse.

    J'ai essayé et lorsque je teste ma propre machine (celle qui execute le code), cela fonctionne.
    En revanche si je teste une autre machine le GetObject ne retourne rien.

    Je ne vois pas le service winmgmts démarré, ni sur ma machine ni sur celle des autres.
    j'ai essayé de lancer le service via la commande CMD: net start winmgmt (en local), mais j'ai un access denied. Je présume que je n'ai pas les droits pour le service


    nous sommes sur XP pro. je suis sencé voir "winmgmts" dans le task manager, c'est bien ça ?

  4. #4
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Sur W7 le nom complet du service winmgmt est "Infrastructure de gestion Windows"
    Il faut éventuellement vérifier le type de démarrage il ne doit pas être désactivé.

    On peut changer le démarrage avec la cmd "sc"

    par exemple pour démarrer le Registre distant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            If IsOnline(Computername) Then
                Set oShell = CreateObject("wscript.shell")
                oShell.Exec ("sc \\" & Computername & " START RemoteRegistry ")
    End if
    cette fonction fait un Ping cela évite d'attendre le timeout si la machine est éteinte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function IsOnline(Address)
        Dim strText
        IsOnline = False
        Set oExecObj = oShell.Exec("%comspec% /c ping -a -n 1 -w 20 " & Address)
        Do While Not oExecObj.StdOut.AtEndOfStream
            strText = oExecObj.StdOut.ReadAll()
            If InStr(strText, "ponse de") > 0 Then
                IsOnline = True
                Exit Function
            End If
        Loop
    End Function

    Si tout est démarrer ça peut être une question de droits

Discussions similaires

  1. Connaitre les utilisateurs connectés
    Par Slyman77 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/06/2007, 18h40
  2. [Réseau] Connaitre les machines connectées sur un swicth
    Par Cyspak dans le forum Développement
    Réponses: 10
    Dernier message: 26/02/2007, 12h40
  3. [10g] Connaitre les utilisateurs connectés
    Par Etanne dans le forum Oracle
    Réponses: 3
    Dernier message: 19/01/2006, 10h54
  4. [Reseau] Connaitre l'utilisateur connecté ?
    Par H.2.O dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/08/2005, 13h21
  5. [Tomcat] Lister les utilisateurs connectés
    Par will_mad dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 08/07/2005, 15h19

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