Netwerkdetectie gaat fout

Status
Niet open voor verdere reacties.

famlam

Gebruiker
Lid geworden
15 okt 2008
Berichten
416
Ik gebruik onderstaande code om computers en netwerken te detecteren.
Het probleem is echter dat deze code sommige computers niet vindt (1) en soms computers vindt die al 10 minuten uitstaan (2).
Hoe kan ik ervoor zorgen dat probleem 1 en 2 opgelost zijn?


Code:
Dim WGroup As String = ""
Dim query As New SelectQuery("Win32_ComputerSystem")
Dim searcher As New ManagementObjectSearcher(query)
For Each mo As ManagementObject In searcher.Get()
    netwerken.Add(mo("Domain"))
    WGroup = mo("Domain")
    Dim DirEntry As New DirectoryEntry()
    DirEntry.Path = "WinNT://" + WGroup
    Dim aantal As Integer = 0
    For Each d As DirectoryEntry In DirEntry.Children()
        If (d.SchemaClassName = "Computer" And Not (d.Name = My.Computer.Name Or d.Name = Environment.UserDomainName)) Then computers.Add(d.Name)
        If (d.SchemaClassName = "Computer" And (d.Name = My.Computer.Name Or d.Name = Environment.UserDomainName)) Then computers.Add("(" + d.Name.ToString + ")")
        BackgroundWorkerVernieuwen.ReportProgress(90)
        If d.SchemaClassName = "Computer" Then aantal += 1
    Next
    If aantal = 0 Then netwerken.Remove(mo("Domain"))
Next
 
Laatst bewerkt:
Als je een specifieke computer buiten de loop “For Each mo As ManagementObject In searcher.Get” hard gecodeerd gaat detecteren gaat het dan ook fout?
Verder: ik weet niet welke handmatige windows-optie hiermee correspondeert (pingen dacht ik?) maar gaat dat in jouw netwerk ook fout?
 
Laatst bewerkt:
Als je een specifieke computer buiten de loop “For Each mo As ManagementObject In searcher.Get” hard gecodeerd gaat detecteren gaat het dan ook fout?
Wat bedoel je met 'hard gecodeerd'?
Verder: ik weet niet welke handmatige windows-optie hiermee correspondeert (pingen dacht ik?) maar gaat dat in jouw netwerk ook fout?
Ik kan de (door de code niet gedecteerde) computer ook niet pingen via my.computer.network.ping(...). Hij wordt echter wel gevonden in Windows' netwerkcentrum, dus het netwerk zelf is wel in orde.
 
Wat bedoel je met 'hard gecodeerd'?
Het loopje
Code:
For Each mo As ManagementObject In searcher.Get()
...
Next
achterwege laten en dan de overgebleven code loslaten op een specifieke computer die problemen geeft
 
Maar je kunt hem ook niet pingen, terwijl die computer wel in je windows netwerkcentrum zit.
Dan lijkt er iets in de configuratie van je netwerk toch niet helemaal in orde te zijn.

Kun je het ping-probleem oplossen?

We komen wel op terreinen waar ik geen kennis van heb ik probeer maar een beetje logisch na te denken...
 
Maar je kunt hem ook niet pingen, terwijl die computer wel in je windows netwerkcentrum zit.
Dan lijkt er iets in de configuratie van je netwerk toch niet helemaal in orde te zijn.

Kun je het ping-probleem oplossen?

We komen wel op terreinen waar ik geen kennis van heb ik probeer maar een beetje logisch na te denken...

De instellingen van die ene computer zijn precies gelijk aan de instellingen van mijn en andere computers op het netwerk. Overigens: ik zei dat ik hem niet kon pingen via my.computer.netwerk.ping(...), maar ik heb net geprobeerd of het wel met ping in cmd kan, en dat kan ook... Dus via windows lukt alles prima, maar via vb niet... (en zoals ik al zei zijn de instellingen gelijk, dus daar weet ik de fout ook niet).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan