Obtenir des informations sur l'espace disque à l'aide de PowerShell

Marion Paul Kenneth Mendoza 30 janvier 2023
  1. Obtenir des informations sur l’espace disque à l’aide de la bibliothèque PSDrive dans PowerShell
  2. Obtenir des informations sur l’espace disque à l’aide de l’objet WMI dans PowerShell
Obtenir des informations sur l'espace disque à l'aide de PowerShell

PowerShell peut générer des rapports complets sur nos systèmes d’exploitation Windows. L’une des mesures de ces rapports est la liste de nos lecteurs système et leurs informations d’espace disque.

Dans cet article, nous allons apprendre quelques commandes qui exporteront des informations sur tous nos lecteurs système et apprendrons à déterminer l’espace disque restant sur notre machine à l’aide de PowerShell.

Obtenir des informations sur l’espace disque à l’aide de la bibliothèque PSDrive dans PowerShell

La bibliothèque PSDrive est un ensemble de commandes chargées de gérer, créer et supprimer des lecteurs temporaires et persistants à l’aide de PowerShell. Cette première méthode se concentrera sur la commande de requête Get-PSDrive.

En exécutant la commande Get-PSDrive, nous pouvons obtenir rapidement les informations sur tous nos référentiels montés dans notre système.

Exemple de code :

Get-PSDrive

Production:

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

Comme nous l’avons vu dans la sortie ci-dessus, la commande Get-PSDrive a un attribut Name dans son objet. En connaissant ces informations, nous pouvons isoler un lecteur spécifique en filtrant son nom de lecteur et en sélectionnant un autre attribut d’objet pour déterminer sa taille libre.

Exécutez la commande suivante pour tester cela.

Exemple de code :

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

Production:

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

Cependant, si nous comparons notre dernière sortie avec la sortie précédente, nous pouvons voir que la taille libre s’est convertie en octets. Par conséquent, pour reconvertir la valeur en gigaoctets (Go), nous devons définir une expression personnalisée lors de la sélection de l’attribut d’objet.

Exécutez la commande suivante pour tester cela.

Exemple de code :

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

Production:

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

L’exemple de code ci-dessus renomme la colonne en Free (GB) et arrondit la sortie de la valeur flottante à deux décimales.

Obtenir des informations sur l’espace disque à l’aide de l’objet WMI dans PowerShell

Une autre méthode pour obtenir des informations sur l’espace disque consiste à utiliser la classe WMI Object. Cette classe fonctionne de manière similaire à PSDrive, mais la seule différence est que cette bibliothèque peut interroger des ordinateurs distants.

Exemple de code :

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

Production:

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

Pour lancer une requête sur un ordinateur distant, ajoutez le paramètre ComputerName dans la commande 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