$ret = cmd /c "chcp 437 > nul && netsh int ipv4 show dynamicport tcp" $startport = [int](($ret | Select-String 'Start Port').Line -replace '\D','') $numofports = [int](($ret | Select-String 'Number of Ports').Line -replace '\D','') $endport = $startport + $numofports - 1 $usedports = Get-NetTCPConnection | Where-Object { $_.LocalPort -ge $startport -and $_.LocalPort -le $endport } Write-Host "Port Range :" $numofports Write-Host "Used total :" $usedports.Count Write-Host "Free ports :" ($numofports - $usedports.Count) Write-Host "Count by coinnection status :" $states = $usedports | Group-Object -Property State |Select Name,Count foreach ($state in $states) { Write-Host "`t"$state.Name ":" $state.Count }