- Windows PowerShell - Utilización de WPS - Sistema de archivos - Listar las unidades de disco -

El cmdlet "Get-PSDriver" lista las unidades de disco del sistema de archivos con la limitación del provider "Filesystem"

Get-PSDriver –psprovider filesystem

El resultado son objetos del tipo "SystemManagement.Automation.PSDriverInfo". Dentro de las propiedades de esa clase está "Root", la cual contiene el directorio raiz.
La clase "PSDriverInfo" no contiene informaciones sobre el tamaño y espacio libre de la unidad, dado que representa un concepto generico, el cual seria inadecuado para tratar algunas unidades del sistema (como pudiera ser una variable de entorno).
Para determinar el espacio de disco ocupado en una unidad, existen dos posibilidades:
- atributo "TotalFreeSpace" en la clase .NET "System.IO.DriveInfo"
- atributo "Freespace" de la clase WMI "Win32_LogicalDisk"
Lectura de la unidad "c" con la clase .NET "System.IO.DriveInfo"

$driver = New-Object system.IO.DriveInfo ("c")
$driver .TotalFreeSpace

Lectura de la unidad "c" con la clase WMI Win32_LogicalDisk

Get-WmiObject win32_logicaldisk -Filter "deviceid = 'c:'" | select freespace

La utilización de la clase "Win32_LogicalDisk" ofrece dos ventajas:
- pueden indagarse sistemas externos
- con la ayuda de WQL, puede filtrarse las indagaciones
Inquirir los espacios disponibles en la unidad "c" en un ordenador distante

Get-WmiObject Win32_LogicalDisk –Filter "DeviceID = 'c:'" –Computer C03 | Select DeviceID, Freespace

Inquirir unidades de disco con poco espacio disponible, con la utilización de WQL (Windows Management Instrumentation Query Language).

([WMISearcher] "Select * from Win32_LogicalDisk where Freespace < 1000000000").Get() | Select DeviceID, FreeSpace

previo
Imprimir..
Ultima actualisación: Tue, 24 ▪ May ▪ 2011
próximo