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

C# Discussion :

[C#] Comment lister les ordinateurs du Reseau ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut [C#] Comment lister les ordinateurs du Reseau ?
    Bonjour à Tous,

    Je continu dans ma quête d'apprentissage et après avoir bien cherché sur Internet, je n'ai pas trouvé mon bonheur

    Donc je me tourne vers developpez.com.

    Je voudrai à partir de mon application arriver à lister les ordinateurs présents sur le réseau(par le nom) et ainsi en acquérir leur IP.

    Alors j'ai pensé à utiliser la commande :

    Puis récupérer les noms de ordis dans le fichier texte, puis essayer d'en découvrir leur IP... mais c'est un vrai pétrin

    N'existerai t'il pas, alors, une jolie fonction qui permette de se faciliter la vie,
    en utilisant les System.Net, System.Net.Sockets...

    Je suis preneur de toutes solutions

    Merci

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    Citation Envoyé par ArHacKnIdE
    après avoir bien cherché sur Internet, je n'ai pas trouvé mon bonheur
    en cherchant bien, on trouve toujours

    Un début de réponse ici peut-etre http://nico-pyright.developpez.com/t...ms/#Lform_load

  3. #3
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    Merci mais le début ne me dit rien là, pour quelles raisons ?

    - C'est du C++

    - Peu de programmation Reseau

    - Je ne sait pas comment l'exploiter

    - Je n'y vois pas ce que je cherche ? (Peut être suis-je aveugle)

    Mais Merci quand même

    Il y a bien(dans ton code) le ListBox2, mais je ne vois pas ou et comment tu lui mets du contenu

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ok, c'est du c++ c'est sur, mais ca ressemble de loin à du c#

    tu veux récuperer la liste des ordinateurs d'un domaine ? j'ai bien compris ?

    cette partie là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    listOfComputer = gcnew System::Collections::ArrayList();
     
    System::String ^ domainName = "WORKGROUP";
    System::DirectoryServices::DirectoryEntry ^ domainEntry =  gcnew
     System::DirectoryServices::DirectoryEntry(System::String::Format
    ("WinNT://{0}", domainName));
    domainEntry->Children->SchemaFilter->Add("computer");
    entries = domainEntry->Children;
    le plus important, tu construis la liste des éléments (DirectoryEntries) à partir du nom de domaine (Workgroup dans l'exemple), tu boucles dessus avec un for each

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    for each(System::DirectoryServices::DirectoryEntry ^ entry in entries)
    {
        try
        {
            System::Net::IPHostEntry ^ ip = System::Net::Dns::GetHostEntry
    (entry->Name);
            listOfComputer->Add(entry->Name);
        }
        catch (System::Exception ^ ex)
        {
        }
    }
    et là, avec GetHostEntry tu obtiens les infos que tu veux (ici je m'en servais pour vérifier que l'ordinateur était bien présent, mais ca permet de récuperer d'autres infos.

    Après, la traduction en c# c'est assez facile, meme neguib sait faire (désolé )

    remarque, tu peux plutot utiliser une liste générique List<String ^> plutot qu'un Arraylist non typé.

  5. #5
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    Grand Merci pour ta réponse

    Mais je suis deja pas un as en C# alors si il me faut convertir du C++

    neguib est plus fort que moi.

    Pour rester dans mon idée de départ, j'ai ça(certe plus simple ) :

    using System.Net;
    using System;
    using System.Net.Sockets;



    class Connection : object
    {

    public static void Main()
    {
    string Adresse;
    long i;

    Console.WriteLine("Entrez l'adresse : ");
    Adresse = Console.In.ReadLine();

    try
    {
    TcpClient MonClient = new TcpClient();
    IPAddress adressIp = Dns.Resolve(Adresse).AddressList[0];
    Console.WriteLine("Son Ip est : {0}", adressIp);
    }
    catch (SocketException)
    {
    Console.WriteLine("Non valide !");

    }
    Console.In.ReadLine();

    }
    }
    Mais me faudrait lire ces fameux noms de PC à partir de ma requete :

    net view > liste.txt
    Et c'est encore une autre histoire

    Encore Merci

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    et ca te tente pas d'essayer comme je te propose ? juste pour voir ?

    après, si tu préferes executer une commande dos, c'est assez simple de lire le fichier texte en sortie

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

Discussions similaires

  1. [C#] Lister les ordinateurs du reseau
    Par alex57 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/11/2008, 11h46
  2. [VB.NET] Comment lister les ordinateurs d'un réseau
    Par Jan-t dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/03/2005, 08h44
  3. [VB6] [Réseau] Lister les ordinateurs du réseau
    Par CYFL dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/12/2002, 09h25

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