Partage
  • Partager sur Facebook
  • Partager sur Twitter

Affichage noms machines actif sur un reseau

Sujet résolu
    31 mars 2011 à 21:49:17

    Bonjour,
    je travail sur une application .NET est j'aimerai importé dans un champs tous les noms des machines actif sur le reseau Workgroup lors du chargement d'application, alors j'utilise la commande dos
    net view /domain:Workgroup
    mais le problème c'est que la commande renvoie aussi les noms des machines qui vient d’être arrêter ou mise en vielle !!! faux attendre au moins une demi-heurs :'( pour que la commande renvoie plus celle la
    moi j'aimerai avoir comme réponse que les machines actif sur le reseau, est dés qu'ils passent en mode vielle ou arret je veut plus les voir
    • Partager sur Facebook
    • Partager sur Twitter
      31 mars 2011 à 23:56:23

      Ca n'a pas l'air simple comme problème... :euh:

      Une solution serait de pinger toutes les machines de la liste pour vérifier qu'elles sont actives. La classe System.Net.NetworkInformation.Ping est prévue pour. ;)
      • Partager sur Facebook
      • Partager sur Twitter
        1 avril 2011 à 0:51:00

        euh si je ping sur toutes les machines pour avoir que les machines actif ça va prend du temps
        • Partager sur Facebook
        • Partager sur Twitter
          1 avril 2011 à 16:09:57

          Salut,

          Suite a une petite recherche, j'ai trouver ceci :
          http://www.codeproject.com/KB/IP/ListN [...] omputers.aspx

          Sinon, il y a cet autre bout de code :

          using (DirectoryEntry workgroup = new DirectoryEntry("WinNT://Workgroup"))
          {
              foreach (DirectoryEntry childEntry in workgroup.Children)
              {
                  Console.WriteLine(child.Name);
              }
          }
          


          Je sais pas si c'Est ce que tu veux, mais j'espère que ça pourra t'aider!
          • Partager sur Facebook
          • Partager sur Twitter
            2 avril 2011 à 12:30:25

            J'avais vu cette solution également, mais il semble qu'elle ne donne pas que les machines actives :euh:
            • Partager sur Facebook
            • Partager sur Twitter
              2 avril 2011 à 15:46:18

              orwell
              tu peut m'explique un peut comment ça passe avec le ping, sinon un tuto en français ça serait mieux
              • Partager sur Facebook
              • Partager sur Twitter
                2 avril 2011 à 19:08:03

                Citation : jalalnet

                orwell
                tu peut m'explique un peut comment ça passe avec le ping, sinon un tuto en français ça serait mieux


                Les explications de la doc ne te suffisent pas ? :euh:
                • Partager sur Facebook
                • Partager sur Twitter
                  2 avril 2011 à 19:57:29

                  Citation : Orwell

                  Citation : jalalnet

                  orwell
                  tu peut m'explique un peut comment ça passe avec le ping, sinon un tuto en français ça serait mieux


                  Les explications de la doc ne te suffisent pas ? :euh:



                  La même chose, en français.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 avril 2011 à 21:43:49

                    je sais pas comment exploiter le résultat de la commande ping
                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 avril 2011 à 22:32:02

                      public static void SimplePing ()
                              {
                                  Ping pingSender = new Ping ();
                                  PingReply reply = pingSender.Send ("www.contoso.com");
                      
                                  if (reply.Status == IPStatus.Success)
                                  {
                                      Console.WriteLine ("Address: {0}", reply.Address.ToString ());
                                      Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
                                      Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
                                      Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
                                      Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
                                  }
                                  else
                                  {
                                      Console.WriteLine (reply.Status);
                                  }
                              }
                      

                      o_O
                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 avril 2011 à 23:56:23

                        Non mais les liens que j'ai donné plus haut, c'était pour s'en servir hein... :-°
                        • Partager sur Facebook
                        • Partager sur Twitter
                          3 avril 2011 à 13:29:48

                          dsl Orwell pour le derangement
                          suis encore coince
                          si le ping passe pas pour une machine, alos j'ai erreur dans la ligne suivante

                          reply = pingSender.Send ("nom-machine")
                          

                          comment je peux resoudre ca
                          • Partager sur Facebook
                          • Partager sur Twitter
                            3 avril 2011 à 14:51:09

                            Un bloc try-catch devrait faire l'affaire...

                            Ping pingSender = new Ping ();
                            try
                            {
                                PingReply reply = pingSender.Send ("nom-machine");
                            
                                if (reply.Status == IPStatus.Success)
                                {
                                    Console.WriteLine ("Address: {0}", reply.Address.ToString ());
                                    Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
                                    Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
                                    Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
                                    Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
                                }
                                else
                                {
                                    Console.WriteLine (reply.Status);
                                }
                            }
                            catch(PingException ex)
                            {
                                Console.WriteLine ("Erreur : {0}", ex.InnerException.Message);
                            }
                            
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Affichage noms machines actif sur un reseau

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown