PowerShell: Consultar espacio en discos locales

Lo que vamos a ver en esta oportunidad es como hacer un pequeño reporte del estado de nuestros discos. Una de las tareas más tediosas de los administradores de sistemas es comprobar los estados de los discos, debido a que es una de las causas de los problemas que ocurren en algunas oportunidades. Primero vamos a abrir la Windows Powershell ISE, para armar nuestro script. Y escribimos:

Get-WMIObject  -Class Win32_LogicalDisk | Where-Object {$_.DriveType -eq 3}  `
  | Select-Object @{n="Unidad";e={($\_.Name)}}, 
                @{n="Etiqueta";e={($\_.VolumeName)}}, 
                @{n='Tamaño (GB)';e={"{0:n2}" -f ($\_.size/1gb)}}, 
                @{n='Libre (GB)';e={"{0:n2}" -f ($\_.freespace/1gb)}}, 
                @{n='% Libre';e={"{0:n2}" -f ($\_.freespace/$_.size*100)}}

Lo que hacemos con estas líneas es, desde el comando Get-WMIObject, buscar en la clase Win32_LogicalDisk los datos. En este caso seleccionamos los objetos (Discos) que son del tipo local:

Where-Object {$_.DriveType -eq 3}

Vamos a guardar este archivo con el nombre, por ejemplo, de DiskInfo.ps1.

Ahora ejecutamos una consola de PowerShell, vamos a la ruta donde guardamos el archivo (en caso de guardarlo en la raíz del disco C:</b> sería:

cd C:\ 

Y escribimos:

.\DiskInfo.ps1

Y tendríamos como resultado lo siguiente:

En mi caso, tengo solamente una unidad con sus respectivos datos.

Happy scripting!

Comments