Vb.net 查询远程服务器上磁盘空间的最佳方法
我试图通过查询所有驱动器,然后循环直到找到我要查找的驱动器,从而确定远程服务器上的可用空间。Vb.net 查询远程服务器上磁盘空间的最佳方法,vb.net,wmi,Vb.net,Wmi,我试图通过查询所有驱动器,然后循环直到找到我要查找的驱动器,从而确定远程服务器上的可用空间。 有更好的方法吗 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 Syst
有更好的方法吗
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
为什么不让WMI查询只在name='Y'处回调 因此:
FWIW、.Net风格的行会特别建议不要使用像“o”和“s”这样的前缀。这是自VB6时代以来的一个变化。如果要使用Powershell而不是VB.NET,您可以在
Dim oQuery As System.Management.ObjectQuery = New System.Management.ObjectQuery("select FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3 AND name='Y'")