Obtener información sobre el espacio en disco mediante PowerShell

  1. Obtener información sobre el espacio en disco mediante la biblioteca de PSDrive en PowerShell
  2. Obtener información sobre el espacio en disco mediante el objeto WMI en PowerShell
Obtener información sobre el espacio en disco mediante PowerShell

PowerShell puede generar informes completos sobre nuestros sistemas operativos Windows. Una de las métricas de estos informes es la lista de unidades de nuestro sistema y su información de espacio en la unidad.

En este artículo, aprenderemos un par de comandos que exportarán información en todas las unidades de nuestro sistema y aprenderemos a determinar cuánto espacio de disco queda en nuestra máquina usando PowerShell.

Obtener información sobre el espacio en disco mediante la biblioteca de PSDrive en PowerShell

La biblioteca PSDrive es un conjunto de comandos encargados de administrar, crear y eliminar unidades temporales y persistentes mediante PowerShell. Este primer método se centrará en el comando de consulta Get-PSDrive.

Al ejecutar el comando Get-PSDrive, podemos obtener rápidamente la información sobre todos nuestros repositorios montados en nuestro sistema.

Código de ejemplo:

Get-PSDrive

Producción :

Name           Used (GB)     Free (GB) Provider      Root                                               CurrentLocation
----           ---------     --------- --------      ----                                               ---------------
Alias                                  Alias
C                 442.84         21.56 FileSystem    C:\                                               Users\KentMarion
Cert                                   Certificate   \
D                3507.38        218.63 FileSystem    D:\
Env                                    Environment
Function                               Function
G                 519.22        412.28 FileSystem    G:\
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan

Como hemos visto en el resultado anterior, el comando Get-PSDrive tiene un atributo Nombre en su objeto. Al conocer esta información, podemos aislar una unidad específica filtrando su nombre de unidad y seleccionando otro atributo de objeto para determinar su tamaño libre.

Ejecute el siguiente comando para probar esto.

Código de ejemplo:

Get-PSDrive -Name C | Select-Object Name, Free

Producción :

Name        Free
----        ----
C    23061344256

Sin embargo, si comparamos nuestra última salida con la salida anterior, podemos ver que el tamaño libre se ha convertido en bytes. Por lo tanto, para reconvertir el valor a gigabytes (GB), debemos establecer una expresión personalizada al seleccionar el atributo del objeto.

Ejecute el siguiente comando para probar esto.

Código de ejemplo:

Get-PSDrive -Name C | Select-Object Name, @{Name = "Free (GB)"; Expression={[Math]::Round($_.Free/1GB,2)}}

Producción :

Name        Free (GB)
----        ----
C           21.41

El código de ejemplo anterior cambia el nombre de la columna a Libre (GB) y redondea la salida del valor flotante a dos decimales.

Obtener información sobre el espacio en disco mediante el objeto WMI en PowerShell

Otro método para obtener información sobre el espacio en disco es usar la clase de objeto WMI. Esta clase funciona de manera similar a PSDrive, pero la única diferencia es que esta biblioteca puede consultar equipos remotos.

Código de ejemplo:

Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'" | Select-Object DeviceID, @{Name = "Free (GB)"; Expression={[Math]::Round($_.FreeSpace/1GB,2)}}

Producción :

DeviceID Free (GB)
-------- ---------
C:           21.42

Para iniciar una consulta en una computadora remota, agregue el parámetro ComputerName dentro del comando Get-WMIObject.

Get-WmiObject Win32_LogicalDisk -ComputerName "REMOTE-PC" -Filter "DeviceID='C:'"
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn