Meilleur moyen d'interroger l'espace disque sur un serveur distant
Question
J'essaie de récupérer de l'espace libre sur un serveur distant en interrogeant tous les lecteurs, puis en boucle jusqu'à ce que je trouve le lecteur que je recherche.
Y a-t-il une meilleure manière de faire cela?
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
La solution
Pourquoi ne pas simplement faire en sorte que votre requête WMI soit retirée uniquement là où name='Y' ?
Donc:
Dim oQuery As System.Management.ObjectQuery = New System.Management.ObjectQuery("select FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3 AND name='Y'")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow