Új hozzászólás Aktív témák

  • Hali mindenkinek!

    Egy progit írok amihez kell hogy kilistázzam az összes tartományban lévő gépet. Ez idáig megvan, csak azt kellene megcsinálnom hogy meg tudjam állapítani azt hogy a gépekből melyik van bekapcsolva.

    A jelenlegi kóddal olvastatom be a tartományt:
    Public Function GetComputers() As String
    folista_listbox.Items.Clear()
    allapotjelzo.Text = "Domain Beolvasás"
    Me.Cursor = Cursors.WaitCursor

    Dim domainEntry As DirectoryEntry = New DirectoryEntry("WinNT://" + tartomany)
    domainEntry.Children.SchemaFilter.Add("computer")

    For Each computer As DirectoryEntry In domainEntry.Children
    result = computer.Name & Environment.NewLine
    allapotjelzo.Text = "Domain Beolvasás kész!"
    allapotjelzo.Text = result & " Hozzáadva"
    folista_listbox.Items.Add(result)
    allapotjelzo.Text = folista_listbox.Items.Count & " gép a listában"

    Next
    Me.Cursor = Cursors.Default

    Return result

    End Function

    A kérdésem az lenne hogy milyen módon állapíthatom meg hogy melyik gép van bekapcsolva a tartományban? Pingre gondoltam de nem találtam elég gyors megoldást rá (10 percenként végigpingelni több mint 200 gépet sztem gáz lenne), esetleg tudná-e valaki hogy a DirectoryEntry-ben van-e valami aktív gép jelző az is jó lenne.

    Korábban igen primitív módon oldottam meg és nem is működött jól. (meg kellet várni az eredményt, valamint az offline gépeket nem kaptam meg, és a beolvasás pillanatában sem volt teljesen friss a lista)

    netexe = "C:\Windows\System32\net.exe"
    Me.Text = "domain beolvasás"
    Me.Cursor = Cursors.WaitCursor
    Dim shellink As String
    shellink = "cmd /c " & netexe & " view > " & geplistatxt

    (Ja és ez Visual studio 2010, VB.NET)

Új hozzászólás Aktív témák

Hirdetés