Come ottenere informazioni sullo spazio disco utilizzando PowerShell

  1. Ottenere informazioni sullo spazio su disco usando la libreria PSDrive in PowerShell
  2. Ottenere informazioni sullo spazio su disco usando l’oggetto WMI in PowerShell
Come ottenere informazioni sullo spazio disco utilizzando 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:'"
Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
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