Best way to query disk space on remote server

vb.net, wmi

Solution

Why not just make your WMI query only pull back where name='Y'?

So:

Dim oQuery As System.Management.ObjectQuery = New System.Management.ObjectQuery("select FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3 AND name='Y'")

Problem

I am trying to nail down free space on a remote server by querying all the drives and then looping until I find the drive I am seeking. Is there a better way to do this? ``` Dim oConn As New ConnectionOptions Dim sNameSpace As String = "\\mnb-content2\root\cimv2" Dim oMS As New ManagementScope(sNameSpace, oConn) Dim oQuery As System.Management.ObjectQuery = New System.Management.ObjectQuery("select FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3") Dim oSearcher As ManagementObjectSearcher = New ManagementObjectSearcher(oMS, oQuery) Dim oReturnCollection As ManagementObjectCollection = oSearcher.Get() Dim oReturn As ManagementObject For Each oReturn In oReturnCollection 'Disk name Console.WriteLine("Name : " + oReturn("Name").ToString()) 'Free Space in bytes Dim sFreespace As String = oReturn("FreeSpace").ToString() If Left(oReturn("Name").ToString(), 1) = "Y" Then Console.WriteLine(sFreespace) End If Next ```

Original source

Related problems