Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

LISTER LES ORDINATEURS PRÉSENT SUR VOTRE DOMAINE VB2005


Information sur la source

Catégorie :Réseau & Internet Source .NET ( DotNet ) Classé sous : ordinateurs, réseaux, computer, domaine Niveau : Initié Date de création : 18/10/2006 Date de mise à jour : 19/07/2007 22:31:20 Vu : 6 625

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

Liste les ordinateurs présent sur votre domaine
Retourne une list(Of String)
Donc vous faite MyCombobox.DataSource = ListeOrdiReseau()

 

Source

  • Module Reseau
  • Private Declare Sub MessageBeep Lib "User32" (ByVal N As Integer)
  • Private strCritere As String = Nothing
  • Sub callBeepDll(ByVal n As Integer)
  • Call MessageBeep(n)
  • End Sub
  • ''' <summary>
  • ''' Retourne une liste des ordinateurs sur le reseau
  • ''' </summary>
  • ''' <returns>List(Of String)</returns>
  • ''' <remarks></remarks>
  • Public Function ListeOrdiReseau() As List(Of String)
  • Dim Proc As Process = New Process()
  • Proc.StartInfo.FileName = "net.exe"
  • Proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
  • Proc.StartInfo.Arguments = "view"
  • Proc.StartInfo.UseShellExecute = False
  • Proc.StartInfo.RedirectStandardOutput = True
  • Proc.StartInfo.StandardOutputEncoding = System.Text.Encoding.Default
  • Proc.Start()
  • Dim CurrentCoding As System.Text.Encoding = Proc.StandardOutput.CurrentEncoding
  • Dim st As New IO.StreamReader(Proc.StandardOutput.BaseStream)
  • Dim output As String = st.ReadToEnd
  • Proc.WaitForExit()
  • Dim strOut As New List(Of String)
  • strOut.AddRange(output.Split(vbCrLf))
  • Dim outStr As String = Nothing
  • For Each myServ As String In strOut
  • If myServ.StartsWith(ControlChars.Lf & "\\") Then
  • myServ = Replace(Trim(myServ), ControlChars.Lf, "").Trim
  • If myServ.IndexOf(" ") > 0 Then
  • outStr &= Strings.Left(myServ, myServ.LastIndexOf(" ")).Trim
  • If outStr.IndexOf(" ") > 0 Then 'Un 2ème passage si comprend une désignation
  • outStr = Strings.Left(outStr, outStr.LastIndexOf(" ")).Trim
  • End If
  • ElseIf myServ.IndexOf("\\") <> -1 Then
  • outStr &= Strings.Left(myServ, myServ.LastIndexOf("") + 1).Trim
  • Else
  • If Not IsNothing(outStr) Then
  • If outStr.IndexOf(" ") > 0 Then
  • outStr = Strings.Left(outStr, outStr.LastIndexOf(" ")).Trim
  • Else
  • outStr &= myServ
  • End If
  • End If
  • End If
  • End If
  • Next
  • strOut.RemoveRange(0, strOut.Count)
  • If Not IsNothing(outStr) Then strOut.AddRange(outStr.Split("\\"))
  • '********** *****************************************************
  • 'Permet de chercher un critere en le passant à la function cherche si ca correspond il l'enleve du tableau
  • strCritere = ""
  • Dim match As New System.Predicate(Of String)(AddressOf Cherche)
  • strOut.RemoveAll(match)
  • '****************************************************************
  • strOut.TrimExcess()
  • callBeepDll(-1)
  • Return strOut
  • End Function
  • Private Function Cherche(ByVal p As String) As Boolean
  • If p = strCritere Then
  • Return True
  • Else
  • Return False
  • End If
  • End Function
  • End Module
Module Reseau
    Private Declare Sub MessageBeep Lib "User32" (ByVal N As Integer)
    Private strCritere As String = Nothing

    Sub callBeepDll(ByVal n As Integer)
        Call MessageBeep(n)
    End Sub

    ''' <summary>
    ''' Retourne une liste des ordinateurs sur le reseau
    ''' </summary>
    ''' <returns>List(Of String)</returns>
    ''' <remarks></remarks>
Public Function ListeOrdiReseau() As List(Of String)
        Dim Proc As Process = New Process()
        Proc.StartInfo.FileName = "net.exe"
        Proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
        Proc.StartInfo.Arguments = "view"
        Proc.StartInfo.UseShellExecute = False
        Proc.StartInfo.RedirectStandardOutput = True
        Proc.StartInfo.StandardOutputEncoding = System.Text.Encoding.Default
        Proc.Start()

        Dim CurrentCoding As System.Text.Encoding = Proc.StandardOutput.CurrentEncoding
        Dim st As New IO.StreamReader(Proc.StandardOutput.BaseStream)
        Dim output As String = st.ReadToEnd
        Proc.WaitForExit()

        Dim strOut As New List(Of String)
        strOut.AddRange(output.Split(vbCrLf))
        Dim outStr As String = Nothing
        For Each myServ As String In strOut
            If myServ.StartsWith(ControlChars.Lf & "\\") Then
                myServ = Replace(Trim(myServ), ControlChars.Lf, "").Trim
                If myServ.IndexOf("  ") > 0 Then
                    outStr &= Strings.Left(myServ, myServ.LastIndexOf(" ")).Trim
                    If outStr.IndexOf("  ") > 0 Then 'Un 2ème passage si comprend une désignation
                        outStr = Strings.Left(outStr, outStr.LastIndexOf(" ")).Trim
                    End If
                ElseIf myServ.IndexOf("\\") <> -1 Then
                    outStr &= Strings.Left(myServ, myServ.LastIndexOf("") + 1).Trim
                Else
                    If Not IsNothing(outStr) Then
                        If outStr.IndexOf("  ") > 0 Then
                            outStr = Strings.Left(outStr, outStr.LastIndexOf(" ")).Trim
                        Else
                            outStr &= myServ
                        End If
                    End If
                 
                End If
            End If
        Next
        strOut.RemoveRange(0, strOut.Count)
        If Not IsNothing(outStr) Then strOut.AddRange(outStr.Split("\\"))
        '********** *****************************************************
        'Permet de chercher un critere en le passant à la function cherche si ca correspond il l'enleve du tableau
        strCritere = ""
        Dim match As New System.Predicate(Of String)(AddressOf Cherche)
        strOut.RemoveAll(match)
        '****************************************************************
        strOut.TrimExcess()
        callBeepDll(-1)
        Return strOut
    End Function

    Private Function Cherche(ByVal p As String) As Boolean
        If p = strCritere Then
            Return True
        Else
            Return False
        End If
    End Function
End Module

Historique

19 octobre 2006 11:40:33 :
Nettoyage du résultat avant renvoi de la liste des Ordinateurs
19 juillet 2007 22:31:20 :
petit bug Proc.standardOutput ne fonctionnait pas toujours ? Dans la boucle For Each ajout d'un Elseif ElseIf myServ.IndexOf("\\") <> -1 Then outStr &= Strings.Left(myServ, myServ.LastIndexOf("") + 1).Trim Sinon pouvait returner Nothing et plantait le prog (pourquoi mettre des Try Catch quand cela peut être corrigé.. Chez moi ce code et à mon boulot, fonctionne parfaitement.

Commentaires et avis

signaler à un administrateur
Commentaire de Darkdu95600 le 19/10/2006 18:38:24

Et après?

signaler à un administrateur
Commentaire de lilo44 le 20/10/2006 08:51:33

C'est quoi ce commentaire ...

ce programme a le mérite de montrer quelques fonctions sympas. Si tu t en fous, personne ne te demande de regarder et encore moins de poster un commentaire.

Ah la bétise humaine ....

Bref, merci pour le post ;)

signaler à un administrateur
Commentaire de pandinus le 01/03/2007 15:29:29

Génial
ça marche du premier coup...
Merci

signaler à un administrateur
Commentaire de laurent207 le 01/10/2007 17:12:53

génial, merci beaucoup pour cette source

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Modifier le domaine d'un utilisateur [ par NaarGuileh ] Bonjour,Voila mon problème : dans le cadre de l'automatisation des tâches d'administration, on m'a demandé un script en VBScript qui récupère les nom Créer un compte avec un Domaine différent [ par NaarGuileh ] Bonjour, Voila mon problème: je dois créer en local sur chaque poste d'un réseau des comptes à partir d'une liste de noms provenant d'un serveur Act Acces Base De Registre : Plusieurs PC sur domaine [ par TaKeLbErRy ] Bonjour Mes seigneurs !Voila je voudrais &#224; l'aide de VB6 pouvoir interroger la BDR de plusieurs PC faisant parti du m&#234;me domaine.Un petit br Remplissage d'un TreeView par un thread [ par ofeelfree ] Bonjour,Voici mon probl&#232;me : j'ai un formulaire qui contient un TreeView, et une m&#233;thode qui remplit ce TreeView avec la liste des ordinateu Erreur Authentication failed on computer running IIS [ par maclosky ] Cela fait 7 jours que j'essaie de faire une replication d'un table d'un Server SQL 2000 vers un base SQL CE. Cependant lors de la syncronisation il me Récupérer le SID d'un utilisateur hors domaine. [ par sylvain.r ] Bonjour.&nbsp; Je souhaiterai r&#233;cup&#233;rer le SID d&#8217; ajouter un utilisateur dans l'AD selon un fichier txt ??? [ par Darst ] hello, je cherche a am&#233;liorer mon VBS. mon VBS actuel permet de creer un utilisateur dans une AD, le place dans un OU, cr&#233;e nom, pr&#233;n ip dans une listBox [ par kekeman ] Bonjour &#224; tous!!&nbsp; e me permet de vous questionner &#224; propos d'un petit probl&#232;me que j'ai:Voila, jaimerai qu'&#224; partir d'un bout test d'authentification dans un domaine NT [ par chmey671 ] Salut, je cherche à écrire en script vbs un module à rajouter dans mon application de gestion de parc. Je souhaite que la personne qui lance l'applica test d'authentification dans un domaine NT [ par chmey671 ] Salut, je cherche à écrire en script vbs un module à rajouter dans mon application de gestion de parc. Je souhaite que la personne qui lance l'applica


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.