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

Windows Forms Discussion :

[C#] Performancecounter à distance


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 26
    Par défaut [C#] Performancecounter à distance
    Bonjour tout le monde, une fois de plus je fais appel a vous .
    Alors voila je vous explique tout:
    Je cherche à developper une application qui va me permettre de surveiller un ensemble de mes serveurs depuis un autre PC. Ainsi je veux récupérer des informations sur la mémoire, sur certains processus etc grâce au composant performancecounter. Donc pour l'instant j'arrive bien à recupérer ses informations mais uniquement pour le PC local. Sinon pour récupérer celle de mon serveur je suis obligé de l'ajouter dans l'explorateur de serveur en indiquant le nom d'utilisateur ainsi que son mot de passe (Sans oublier de mettre dans la propriété machinename du composant performancecounter le nom de mon serveur ).

    Je souhaiterai alors mettre les informations concernant ma connexion (nom du serveur, login et mot de passe) "directement" dans le code sachant que le nom du serveur auquel je veux me connecter doit être récupérer grâce à une variable. Je pense que ceci peut se faire directement dans le fichier de configuration app.config comme lorsqu'on crée une chaine de connexion pour un serveur sql mais je ne sais pas du tout comment m'y prendre...

    J'espère avoir été suffisament clair, sinon n'hésitez pas.

    Merci de votre aide

  2. #2
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 26
    Par défaut
    je me permet de faire un petit up car je suis étonné de voir que je suis le seul a essayé de faire cela...

  3. #3
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 26
    Par défaut
    Bon finalement j'ai trouvé une autre méthode pour résoudre mon problème.
    Je suis passé par les wmi. Ce qui me donne:

    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
     
    // Spécification de tous les paramètres requis pour créer une connexion
    ConnectionOptions connexion = new ConnectionOptions();
    connexion.Username = txtLogin.Text;
    connexion.Password = txtMDP.Text;
    String stringHostName = txtServeur.Text;
     
    // Utilisation du namespace WMI dans lequel les opérations de gestion vont être effectuées.
    System.Management.ManagementScope ms = new System.Management.ManagementScope("\\\\" + stringHostName + "\\root\\cimv2", connexion);
     
    // La classe ObjectQuery représente une requête de gestion qui retourne des instances ou des
    // classes 
    // On récupère l'espace disque libre pour toutes les partitions: DriveType = 3 ==> Local Disk
    //http://msdn.microsoft.com/library/default.aspurl=/library/enus/wmisdk/wmi/win32_logicaldisk.asp
    System.Management.ObjectQuery QueryEvent = new System.Management.ObjectQuery("select WorkingSetSize from Win32_Process Where Name = \"aspnet_wp.exe\""); 
     
    // La classe ManagementObjectSearcher permet d'extraire une collection d'objets de gestion, 
    // en fonction de la requête spécifiée lors de son instanciation par le paramètre ObjectQuery 
    // ou directement par une string si l'on " code en dur ".
    ManagementObjectSearcher aManagementObjectSearcher = new ManagementObjectSearcher(ms, QueryEvent);
     
    // ManagementObjectCollection représente différentes collections d'objets de gestion extraits via WMI. 
    ManagementObjectCollection aManagementObjectCollection = aManagementObjectSearcher.Get(); 
     
    foreach(ManagementObject aManagementObject in aManagementObjectCollection)
    {
     
    foreach (System.Management.PropertyData aPropertyData in aManagementObject.Properties) 
    {
    MessageBox.Show(aPropertyData.Name + " " + Convert.ToInt32(aPropertyData.Value)/1024 + " Ko");
    }
    }
    Voilà voilà en esperant que cela serve a quelqu'un.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. executer une application a distance : Sockets ? RPC ? CORBA?
    Par a_hic dans le forum Développement
    Réponses: 5
    Dernier message: 30/05/2006, 13h02
  2. Accès à la base de registre windows à distance
    Par xavame dans le forum Sécurité
    Réponses: 4
    Dernier message: 13/07/2005, 15h23
  3. reseau a distance
    Par bourvil dans le forum Hardware
    Réponses: 6
    Dernier message: 21/10/2003, 11h25
  4. [SYSTEME] Relance service a distance
    Par NoisetteProd dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 24/02/2003, 08h26
  5. Réponses: 2
    Dernier message: 06/07/2002, 12h36

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