Zum Inhalt springen

Pfad laufender Prozesse anzeigen (Remote)


XspYroX

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...