<# .SYNOPSIS Checks the free space of all drives .DESCRIPTION This PowerShell script checks all drives for free space left (10 GB by default). .PARAMETER MinLevel Specifies the minimum warning level (10 GB by default) .EXAMPLE PS> ./check-drives .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz | License: CC0 #> param([int]$MinLevel = 10) # 10 GB minimum try { $Drives = Get-PSDrive -PSProvider FileSystem foreach($Drive in $Drives) { $ID = $Drive.Name $Details = (Get-PSDrive $ID) [int]$Free = $Details.Free / 1GB [int]$Used = $Details.Used / 1GB [int]$Total = ($Used + $Free) if ($Total -eq "0") { "✅ Drive $ID is empty." } elseif ($Free -lt $MinLevel) { "⚠️ Drive $ID has only $Free GB of $Total GB left to use!" } else { "✅ Drive $ID has $Free GB of $Total GB left." } } exit 0 # success } catch { "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" exit 1 }