# drive-health.ps1 — physical disk health status. $Url = "YOUR_URL/drive-health" $Disks = Get-PhysicalDisk | Select-Object FriendlyName, MediaType, HealthStatus, OperationalStatus $Statuses = @{} $AnyUnhealthy = $false foreach ($d in $Disks) { $Statuses[$d.FriendlyName] = @{ media = "$($d.MediaType)" health = "$($d.HealthStatus)" operational = "$($d.OperationalStatus)" } if ($d.HealthStatus -ne 'Healthy') { $AnyUnhealthy = $true } } $Body = (@{ hostname = $env:COMPUTERNAME disks = $Statuses any_unhealthy = $AnyUnhealthy }) | ConvertTo-Json -Compress -Depth 5 Invoke-RestMethod -Uri $Url -Method Post -Body $Body ` -ContentType "application/json" -TimeoutSec 15 | Out-Null