' Get the information on a drive Public Function GetDriveInformation() As Boolean Dim lcProviderName As String = "" Dim lcSQL As String = "" Dim llSuccess As Boolean = False Dim loQuery As SelectQuery Dim loManagementObject As ManagementObject Dim loSearcher As ManagementObjectSearcher ' Reset the values cVolumeName = "" cVolumeSerialNumber = "" nFreeSpace = 0 ' Initialization lcProviderName = cProviderName ' Make it compatible lcProviderName = oApp.StrTran(lcProviderName, "\", "\\") ' Adjust SQL as per type of drive Select Case nType ' Local drive Case 1 lcSQL = "SELECT FreeSpace,QuotasDisabled,VolumeName,VolumeSerialNumber " + _ "FROM Win32_LogicalDisk WHERE DeviceID=""" + lcProviderName + """" ' UNC drive Case 2 lcSQL = "SELECT FreeSpace,QuotasDisabled,VolumeName,VolumeSerialNumber " + _ "FROM Win32_LogicalDisk WHERE ProviderName=""" + lcProviderName + """" End Select ' In Windows Service, this doesn't work Try loQuery = New SelectQuery(lcSQL) loSearcher = New ManagementObjectSearcher(loQuery) For Each loManagementObject In loSearcher.Get() ' Free disk space is irrelevant if per user quota's are enabled If loManagementObject("QuotasDisabled").ToString() <> "true" Then cVolumeName = loManagementObject("VolumeName") cVolumeSerialNumber = loManagementObject("VolumeSerialNumber") nFreeSpace = loManagementObject("Freespace") End If Next llSuccess = True Catch loError As Exception cMessage = loError.Message End Try Return llSuccess End FunctionThe actual command that is being executed is: