PowerShell: Consultar espacio en discos locales

Lo que vamos a ver en esta oportunidad es como sacer 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 habrir 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 lineas 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 raiz del disco *C:* sería:

cd C:\ 

Y escribimos:

.\DiskInfo.ps1

Y tendriamos como resultado obtenemos lo siguiente:

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

Happy scripting!

Comments