Solved

Drive space info on remote server in VB.NET?

Posted on 2004-09-21
5
1,822 Views
Last Modified: 2012-06-21
After going through alot of MSDN and EE, I can't seem to find an answer to my problem.  I'm trying to write a VB.NET app that will check on various things on servers, and return all the information in an Excel spreadsheet.  I've got most of it working, but can't seem to figure out how to get the drive information from a remote computer.  I got it to check my local PC with the following code:

  Sub CheckDiskSpace(ByVal strServer As String)

    Dim fsoDrive As Scripting.FileSystemObject
    Dim drvDrives As Scripting.Drives
    Dim drvDrive As Scripting.Drive
    Dim FreeSpace, PercentUsed
    Dim Rindex, Cindex

    exlRow = exlRow + 2
    exlSheet.Range(exlRow & ":" & exlRow).Font.Bold = True
    exlSheet.Range(exlRow & ":" & exlRow).HorizontalAlignment = xlHAlignCenter
    exlSheet.Range("A" & exlRow).Value = "Drive"
    exlSheet.Range("B" & exlRow).Value = "Free Space"
    exlSheet.Range("C" & exlRow).Value = "% Available"

    fsoDrive = CreateObject("Scripting.FileSystemObject", strServer)
    drvDrives = fsoDrive.Drives
    lblStatus.Text = "Checking drives"

    For Each drvDrive In drvDrives
      ' If the drive is a hard disk, check space; skips CD-ROMs and other drive types
      If drvDrive.DriveType = Scripting.DriveTypeConst.Fixed Then
        exlRow = exlRow + 1
        exlSheet.Range("A" & exlRow).Value = drvDrive.DriveLetter & ":"
        exlSheet.Range("B" & exlRow).NumberFormat = "#,##0.00"
        exlSheet.Range("B" & exlRow).Value = drvDrive.AvailableSpace / 1024 / 1024
        exlSheet.Range("C" & exlRow).NumberFormat = "0.00%"
        exlSheet.Range("C" & exlRow).Value = drvDrive.AvailableSpace / drvDrive.TotalSize
      End If
    Next

  End Sub

It seems like it tries to check the remote computer (I've tried on both Win2K Pro and Server computers), but fails.  Can anyone fix this, or tell me a better way to go about doing the same thing?  Most of the VB objects I've found will let you manipulate files and folders, but I can't find anything to get drive information.
0
Comment
Question by:HatchIT
  • 2
  • 2
5 Comments
 
LVL 7

Accepted Solution

by:
sj_hicks earned 50 total points
ID: 12109817
You can do it with WMI.  Check out the Win32_LogicalDisk class - it will give you lots of info including drive letter and free disk space.
0
 
LVL 18

Expert Comment

by:armoghan
ID: 12109822
Probably, I dont get it correctly.
Unless and untill we have full access to the network system and logged into it, we can just get the information of share, not the Drives?
Can we do it using windows?
0
 
LVL 7

Expert Comment

by:sj_hicks
ID: 12109861
You can run WMI queries against remote computers.  The account you are running the application to check disk space from needs to have access to the remote computer.  If it does, then you can query all WMI info and even run WMI methods to do groovy systems admin stuff.

If you are trying to get this info from a remote computer and you don't have the required access, any method will fail.
0
 
LVL 18

Expert Comment

by:armoghan
ID: 12110101
ohh i c
Interesting..
I looked into it and found this article.
this may be interesting for the author
http://www.publicjoe.f9.co.uk/csharp/articles/csh-wmi.html
0
 
LVL 1

Author Comment

by:HatchIT
ID: 12165543
Thanks for that, sj_hicks.  Now that I know where to look, I should be able to sort this out.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I think the Typed DataTable and Typed DataSet are very good options when working with data, but I don't like auto-generated code. First, I create an Abstract Class for my DataTables Common Code.  This class Inherits from DataTable. Also, it can …
Introduction When many people think of the WebBrowser (http://msdn.microsoft.com/en-us/library/2te2y1x6%28v=VS.85%29.aspx) control, they immediately think of a control which allows the viewing and navigation of web pages. While this is true, it's a…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

25 Experts available now in Live!

Get 1:1 Help Now