VB.NET Output analysieren und nur bestimmten Teil ausgeben
Hallo zusammen,
wie bereits beschrieben brauche ich eine Auswertung für ein StandardOutput.
Und zwar mache ich folgendes:
Ich will wissen wer an einem PC im Netzwerk lokal angemeldet ist. Dank meiner unzureichenden Prgrammierkenntnisse nehme ich dafür die psloggedon.exe (sysInternals) her.
Hier der Code:
Die Ausgabe erscheint dann folgendermaßen:
Jetzt will ich erreichen, das nicht diese gesamte Ausgabe in der textbox1 steht sondern nur "testuser", damit ich das richtig weiterverarbeiten kann.
Ich dachte an so etwas wie, suche "DOMAIN\" und gib den Rest der Zeile aus. Wichtig wäre auch OHNE die zusätzliche leere Line am Ende.
Danke für Hilfe
LG Peacer
wie bereits beschrieben brauche ich eine Auswertung für ein StandardOutput.
Und zwar mache ich folgendes:
Ich will wissen wer an einem PC im Netzwerk lokal angemeldet ist. Dank meiner unzureichenden Prgrammierkenntnisse nehme ich dafür die psloggedon.exe (sysInternals) her.
Hier der Code:
Sub button9ItemClick(sender As Object, e As EventArgs)
Dim psloggedon As New Process
With psloggedon.StartInfo
.FileName = "psloggedon.exe"
.Arguments = " -x -l \\" & textBox1.Text
.CreateNoWindow = True
.RedirectStandardOutput = True
.RedirectStandardError = True
.UseShellExecute = False
End With
psloggedon.Start()
textBox1.Text = psloggedon.StandardOutput.ReadToEnd
End Sub
Die Ausgabe erscheint dann folgendermaßen:
Connecting to Registry of \\PC2496...
Users logged on locally:
DOMAIN\testuser
Jetzt will ich erreichen, das nicht diese gesamte Ausgabe in der textbox1 steht sondern nur "testuser", damit ich das richtig weiterverarbeiten kann.
Ich dachte an so etwas wie, suche "DOMAIN\" und gib den Rest der Zeile aus. Wichtig wäre auch OHNE die zusätzliche leere Line am Ende.
Danke für Hilfe
LG Peacer
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 160721
Url: https://administrator.de/contentid/160721
Ausgedruckt am: 22.11.2024 um 07:11 Uhr
6 Kommentare
Neuester Kommentar
@SlainteMhath
Minimaler Änderungsvorschlag (nur für den Fall des Falles - dass etwa doch vor dem Usernamen auch noch ein Timestamp ausgegeben würde [Edit] die Verwendung von "
Grüße
bastla
Minimaler Änderungsvorschlag (nur für den Fall des Falles - dass etwa doch vor dem Usernamen auch noch ein Timestamp ausgegeben würde [Edit] die Verwendung von "
-x
" ist mir leider etwas zu spät aufgefallen, daher ist diese Variante eigentlich schon wieder hinfällig [/Edit]):Dim str As String = psloggedon.StandardOutput.ReadToEnd
Dim rc As String =""
Dim sep As String = "DOMAIN\"
For Each L As String In str.Split(".")
If L.Contains(sep) Then
rc = rc & Trim(Split(L, sep)(1)) & vbCrLf
End If
Next
TextBox1.Text = rc
bastla