• 0

VB.NET->Capture Output of CMD Utility?


Question

I am writing an Application in VB.NET. One component of the application is to list the server uptime. If there is a better way to do this let me know, but as for now I am using the "uptime.exe" from Microsoft. Here is the snippet of code that I am using:

Dim uptime As String

uptime = Shell("uptime " & srv2.ServerName)

I am fairly new to running commands through a VB.NET App, so I may be incorrect in some of my statements.

From my research there is no control within VB.NET to gather the Uptime on a Remote System. This is why I have opted to use the "uptime.exe" from Microsoft. Unfotunately when I run the app I receive what appears to be a random 4 digit number for my string "uptime". I am assuming this is some type of return code the "uptime.exe" throws back once it is complete. Obviously this isn't what I want. I need to know how to grab the output from the command. After that I will have to deal with formatting.

Any help would be appreciated.

Link to comment
https://www.neowin.net/forum/topic/273302-vbnet-capture-output-of-cmd-utility/
Share on other sites

7 answers to this question

Recommended Posts

  • 0
  KrAzY said:
I am writing an Application in VB.NET.  One component of the application is to list the server uptime.  If there is a better way to do this let me know, but as for now I am using the "uptime.exe" from Microsoft.  Here is the snippet of code that I am using:

Dim uptime As String

uptime = Shell("uptime " & srv2.ServerName)

I am fairly new to running commands through a VB.NET App, so I may be incorrect in some of my statements.

From my research there is no control within VB.NET to gather the Uptime on a Remote System.  This is why I have opted to use the "uptime.exe" from Microsoft.  Unfotunately when I run the app I receive what appears to be a random 4 digit number for my string "uptime".  I am assuming this is some type of return code the "uptime.exe" throws back once it is complete.  Obviously this isn't what I want.  I need to know how to grab the output from the command.  After that I will have to deal with formatting.

Any help would be appreciated.

585317107[/snapback]

You can use WMI to get the uptime of a remote server.

I know this example is script, but it is VB script so it should port easily.

http://www.microsoft.com/technet/scriptcen...04/hey0907.mspx

  • 0
  Cephas said:
You could try piping the output to a file, like so:

cmd /C uptime servername > c:\test.txt

Then just read that file's contents.

585317403[/snapback]

I thought of this idea, but that would require me parsing a text file after the output and I would rather not rely on creating another file and parsing it. I would rather it be internal to the program.

  weenur said:
You can use WMI to get the uptime of a remote server.

I know this example is script, but it is VB script so it should port easily.

http://www.microsoft.com/technet/scriptcen...04/hey0907.mspx

585317411[/snapback]

I knew this was possible, and haven't experimented with it. The only issue that might be an issue is speed. I believe running 'uptime.exe' is alot faster then trying to invoke WMI properties.

  Andareed said:
If you just want the uptime, you can use the win32 api GetTickCount.

585317881[/snapback]

When I was investingating this issue I found GetTickCount, but I don't think I can use it to remotely query servers. I believe that command can only be used on the system in which the program is running on.

WMI is probably the best idea at this point, but as stated earlier it may be alot slower then using 'uptime.exe' or some other method.

I will experiment with WMI and report back, but other suggestions would be appreciated, and please let me know if I am incorrect in my statements above.

Thanks

  • 0
  KrAzY said:
I knew this was possible, and haven't experimented with it.  The only issue that might be an issue is speed.  I believe running 'uptime.exe' is alot faster then trying to invoke WMI properties.

585318664[/snapback]

To be honest, uptime.exe probably utilizes WMI itself ;) In general, APIs are faster than external programs (Y)

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.