info@techdevops.com | 437-991-3573 | Data Engineering Services
TechDevOps.com
Resources Tools
Experts in Microsoft SQL Server on Windows, Linux, Containers | Clusters, Always On, FCI | Migrations, Cloud, Performance



Get all SQL Server Stacked Instances and Ports
by BFarrell (Principal Consultant; Architecture; Engineering)
2026-03-25








SQL Server Stacked Instances and Ports:


CLS
Write-Host "SQL Server Stacked Instances and Ports:" -ForegroundColor Cyan
Write-Host "----------------------------------------"
Write-Host ""

$instancesKey = "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL"

if (-not (Test-Path $instancesKey)) {
Write-Host "No SQL Server Instances found." -ForegroundColor Yellow
return
}

$instances = Get-ItemProperty $instancesKey

foreach ($property in $instances.PSObject.Properties) {

$instanceName = $property.Name
$instanceId = $property.Value

# TCP configuration key
$tcpKey = "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\$instanceId\MSSQLServer\SuperSocketNetLib\Tcp\IPAll"

if (Test-Path $tcpKey) {
$tcp = Get-ItemProperty $tcpKey

$staticPort = $tcp.TcpPort
$dynamicPort = $tcp.TcpDynamicPorts

if ($staticPort) {
$port = $staticPort
$type = "Static"
}
elseif ($dynamicPort) {
$port = $dynamicPort
$type = "Dynamic"
}
else {
$port = "Not configured"
$type = "Unknown"
}

Write-Host "Instance Name: $instanceName"
Write-Host " Port Type : $type"
Write-Host " Port # : $port"
Write-Host ""
}
}