$ErrorActionPreference = "Continue" Write-Output "=== docker/winget ===" Get-Command docker, winget, choco -ErrorAction SilentlyContinue | Select-Object Name docker version 2>&1 | Select-Object -First 5 Write-Output "=== local listen 3306/5432 ===" foreach ($p in 3306,5432,13306,15432) { $c = Get-NetTCPConnection -LocalPort $p -State Listen -EA SilentlyContinue | Select-Object -First 1 if ($c) { "$p local-LISTEN" } else { "$p local-free" } } Write-Output "=== E free ===" Get-PSDrive E | Format-Table @{n='FreeGB';e={[math]::Round($_.Free/1GB,1)}} Write-Output "DONE"