Come ottenere informazioni sullo spazio disco utilizzando PowerShell
- Ottenere informazioni sullo spazio su disco usando la libreria PSDrive in PowerShell
- Ottenere informazioni sullo spazio su disco usando l’oggetto WMI in PowerShell

PowerShell può generare report completi sui nostri sistemi operativi Windows. Una delle metriche in questi report è l’elenco delle nostre unità di sistema e le informazioni sullo spazio disponibile.
In questo articolo, apprenderemo un paio di comandi che esportano informazioni su tutte le nostre unità di sistema e impareremo a determinare quanto spazio libero c’è nella nostra macchina utilizzando PowerShell.
Ottenere informazioni sullo spazio su disco usando la libreria PSDrive in PowerShell
La libreria PSDrive è un insieme di comandi responsabili della gestione, creazione e eliminazione di unità temporanee e persistenti utilizzando PowerShell. Questo primo metodo si concentrerà sul comando di query Get-PSDrive
.
Eseguendo il comando Get-PSDrive
, possiamo ottenere rapidamente le informazioni su tutte le nostre repository montate nel nostro sistema.
Codice di esempio:
Get-PSDrive
Output:
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
Come abbiamo visto dall’output sopra, il comando Get-PSDrive
ha un attributo Name
nel suo oggetto. Sapendo questa informazione, possiamo isolare un’unità specifica filtrando il nome dell’unità e selezionando un altro attributo dell’oggetto per determinare la sua dimensione libera.
Esegui il seguente comando per verificare.
Codice di esempio:
Get-PSDrive -Name C | Select-Object Name, Free
Output:
Name Free
---- ----
C 23061344256
Tuttavia, se confrontiamo il nostro ultimo output con l’output precedente, possiamo vedere che la dimensione libera si è convertita in byte. Pertanto, per riconvertire il valore in gigabyte (GB), dobbiamo impostare un’espressione personalizzata quando selezioniamo l’attributo dell’oggetto.
Esegui il seguente comando per verificare.
Codice di esempio:
Get-PSDrive -Name C | Select-Object Name, @{Name = "Free (GB)"; Expression = { [Math]::Round($_.Free / 1GB, 2) } }
Output:
Name Free (GB)
---- ----
C 21.41
Il codice di esempio sopra rinomina la colonna in Free (GB)
e arrotonda l’output del valore flottante a due decimali.
Ottenere informazioni sullo spazio su disco usando l’oggetto WMI in PowerShell
Un altro metodo per ottenere informazioni sullo spazio su disco è utilizzare la classe oggetto WMI. Questa classe funziona in modo simile a PSDrive, ma l’unica differenza è che questa libreria può effettuare query su computer remoti.
Codice di esempio:
Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'" | Select-Object DeviceID, @{Name = "Free (GB)"; Expression = { [Math]::Round($_.FreeSpace / 1GB, 2) } }
Output:
DeviceID Free (GB)
-------- ---------
C: 21.42
Per avviare una query su un computer remoto, aggiungi il parametro ComputerName
all’interno del comando Get-WMIObject
.
Get-WmiObject Win32_LogicalDisk -ComputerName "REMOTE-PC" -Filter "DeviceID='C:'"
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn