Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

One way to obtain a roster of users currently on the Windows machine in VB.NET is by using the System.Diagnostics.Process class and the "query session" command. The following code snippet demonstrates this method:

Dim processInfo As New ProcessStartInfo("cmd.exe")
processInfo.RedirectStandardInput = True
processInfo.RedirectStandardOutput = True
processInfo.RedirectStandardError = True
processInfo.UseShellExecute = False
processInfo.CreateNoWindow = True

Dim process As Process = Process.Start(processInfo)
Dim inputWriter As StreamWriter = process.StandardInput
Dim outputReader As StreamReader = process.StandardOutput

inputWriter.WriteLine("query session")

Dim output As String = outputReader.ReadToEnd()

' Parse the output to obtain the list of users '

Once the output is obtained, you can parse it to extract the list of user names currently logged in to the Windows machine.