Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi :)

Hab da ein Problem und hoffe, dass ihr mir das weiterhelfen könnt ;)

Ich möchte gerne mein Netzwerk scannen und die laufenden Prozesse der Rechner dort im Netzwerk auflisten. ABER: Es sollen auch die Pfade der Prozesse angezeigt werden.

Mein Code-Snippet sieht so aus:


Dim ps As System.Diagnostics.Process

For Each ps In System.Diagnostics.Process.GetProcesses(ip)

tbWhite.AppendText(ps.MachineName & ": " & ps.ProcessName.ToString & " (" & Now() & ")" & vbCrLf)

Es wird also die IP des Rechners angezeigt (ps.machinename), dann der Prozessname und dann ein Zeitstempel.

Ich möchte mir aber auch den genauen Pfad des Prozesses anzeigen lassen.

Wie kriege ich das am besten hin?

Bin für jede Antwort dankbar :D

PS: Falls ihr mir sagen könnt, wie ich auf selben weg noch den Rechner-Namen der jeweiligen IP herausbekomme, dann seid ihr echt göttergleich :cool:

LG

XspYroX

Es wird also die IP des Rechners angezeigt (ps.machinename), dann der Prozessname und dann ein Zeitstempel.

Ich möchte mir aber auch den genauen Pfad des Prozesses anzeigen lassen.

Wie kriege ich das am besten hin?

Ein kurzer Blick in die Doku zur Process Klasse verrät folgende Eigenschaft welche die gewünschten Info enthält Process.MainModule-Eigenschaft (System.Diagnostics)

Auch das findet man schnell über eine Suche nach c# ip address to host name

Dns.GetHostEntry-Methode (IPAddress) (System.Net)

IPHostEntry.HostName-Eigenschaft (System.Net)

  • Autor

Also erstmal danke :)

Allerdings muss ich gestehen, dass ich das mit dem MainModule auch schon probiert habe, allerdings keinen Code hinbekommen habe, der mir dem Pfad anzeigt :(


tbWhite.AppendText(ps.MainModule.ModuleName)

tbWhite.AppendText(ps.MainModule)

Sowas z.b. klappt nicht. Hab auch schon diverse andere Kombinationen ausprobiert x_x Ich find auch per goolgle keine guten Beispiele, die mir da weiterhelfen könnten :/ Kannst du mir vielleicht diese eine Zeile beschreiben? Also wie ich Code-Technisch einbringe? Hab da wohl irgendwie nen Brett vorm Kopf ^^"" Danke schonmal :nett: edit: Hab jetzt auch noch folgenes ausprobiert:
tbWhite.AppendText(ps.MainModule.FileName.ToString)

klappt aber leider auch net :(

Bearbeitet von XspYroX
ergänzung

  • Autor

Naja...

Ich hab das ganze konstrukt in einem try-Catch Baum:


Private Function checkIP(ByVal ip As String)

        If (My.Computer.Network.Ping(ip)) Then

            Try

                Dim ps As System.Diagnostics.Process

                Application.DoEvents()

                For Each ps In System.Diagnostics.Process.GetProcesses(ip)

                    Application.DoEvents()

                    If isWhitelisted(ps.ProcessName.ToString) = 0 Then

                        tbWhite.AppendText(ps.MachineName & ": " & ps.ProcessName.ToString & " (" & Now() & ")" & vbCrLf)

                        If check_log.Checked = True Then

                            My.Computer.FileSystem.WriteAllText("log.txt", vbCrLf & Now() & " -> " & ps.MachineName & ": " & ps.ProcessName.ToString, True)

                        End If

                        funde_counter = funde_counter + 1

                    End If

                Next

                tb.AppendText("prüfe IP " & ip)

                tb.AppendText("   -> OK")

                tb.AppendText(vbCrLf)


            Catch ex2 As Exception

                tb.AppendText("prüfe IP " & ip)

                tb.AppendText("   -> Fehler / Dienst nicht erreichbar")

                tb.AppendText(vbCrLf)

                'Shell("sc \\" & ip & " stop remoteregistry")

                'Shell("sc \\" & ip & " start remoteregistry")

            End Try

        Else

            If check_dontlogoffline.Checked = False Then

                tb.AppendText("prüfe IP " & ip)

                tb.AppendText("   -> Rechner nicht erreichbar")

                tb.AppendText(vbCrLf)

            End If

        End If

        Return 0

    End Function

Wenn ich jetzt die Zeile
tbWhite.AppendText(ps.MachineName & ": " & ps.ProcessName.ToString & " (" & Now() & ")" & vbCrLf)
in eine meiner "Versuche" aus dem vorherigen Post ändere (habs jetzt mit "
tbWhite.AppendText(ps.MainModule.FileName.ToString)

" probiert), dann springt er in den in den Catch-Zweig und gibt "Fehler / Dienst nicht erreichbar" aus.

Im tbWhite-Fenster steht dann auch nichts bzw. ein leerzeichen oder so.

Das bedeutet, dass die Änderung, die ich an dieser einen Zeile vorgenommen habe, einen Fehler provizieren.

Wenn ich mir die ex2-Expression ausgeben lasse (per msgbox), dann kam bis eben keine Meldung.

JETZT habe ich es erneut getestet und sehe folgende Message:

"Das Featurer wird nicht auf Remotecomputern unterstützt.".

Hmmm....

Aber das kann ich mir nicht vorstellen. Man kann Prozesse starten, auslesen und editieren. da wird man doch wohl auch an den Pfad rankommen, oder?

Muss vielleicht noch ein anderer Dienst als der Remoteregistry-Dienst laufen?

hmmmmm.....

Ich könnte natürlich per psexec auf dem remote-pc einen tasklist-befehl ausführen lassen, mir dann die ausgabe in eine txt-datei schreiben lassen, diese dann einlesen und auswerten lassen.

aber 1. ist das kompliziert und 2. extrem fehleranfällig.

Also:

welchen Weg kann man bei VB einschlagen? ;)

LG spYro

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.