Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: el_trocha en Octubre 07, 2015, 01:41:54 am
-
Me salto la duda el otro dia:
Se podría consultar características de un servidor remoto sin tener una aplicación cliente servidor instalada ?
Intento crear una aplicación que pida información a un servidor sobre su espacio en disco.
Tengo una red de servidores muy amplia y me gustaría poder conocer los espacios sin tener que ir abriendo uno cada vez.
Se como hacerlo de forma local y conozco la api para ver las características de discos pero como dije antes en forma local.
Se podría hacer esto ?????
Un saludo y gracias por la ayuda
-
Estimado el_trocha
Puedes usar WMI, aquí algo de código. Si la cuenta con la que ejecutas este código sobre tu red, dispone de los permisos requeridos (Administrador) no deberías de tener problema.
Public Sub ListDiskSpace()
Dim strComputer As String
Dim strRetval As String
Dim objWMIService As Object
Dim colDisks As Object
Dim objDisk As Object
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery("Select * from Win32_LogicalDisk")
For Each objDisk In colDisks
strRetval = strRetval & "Device ID: " & objDisk.DeviceID & vbCrLf
strRetval = strRetval & "Device Type: " & GetDriveType(objDisk.DriveType) & vbCrLf
strRetval = strRetval & "Free Disk Space: " & objDisk.FreeSpace & vbCrLf
Next
Set objWMIService = Nothing
Set colDisks = Nothing
Set objDisk = Nothing
Debug.Print strRetval
End Sub
Private Function GetDriveType(ByVal DriveTypeID As Long) As String
Select Case DriveTypeID
Case 1: GetDriveType = "No root directory. " & "Drive type could not be " & "determined."
Case 2: GetDriveType = "Removable drive."
Case 3: GetDriveType = "Local hard disk."
Case 4: GetDriveType = "Network disk."
Case 5: GetDriveType = "Compact disk."
Case 6: GetDriveType = "RAM disk."
Case Else
GetDriveType = "Drive type could not be" & " determined."
End Select
End Function
Saludos, desde algún lugar de Lima-Perú