2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windowsサーバーでリッスンポートを調べる

Last updated at Posted at 2025-07-03

概要

Windowsサーバーでリッスンポートを調べるPowerShellコマンド。
よくあるnetstatコマンドで確認する方法だと、使用しているプロセスの情報がIDぐらいしか出せないけど、このコマンドだともう少し詳しく出力することができる。

<リッスン状態のポートを全て出力するコマンド>

Get-NetTCPConnection -State Listen | ForEach-Object {
    $proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
    [PSCustomObject]@{
        LocalPort     = $_.LocalPort
        Protocol      = $_.Protocol
        PID           = $_.OwningProcess
        ProcessName   = $proc.ProcessName
        Path          = ($proc.Path -join '')
        Description   = try {
            (Get-Item ($proc.Path)).VersionInfo.FileDescription
        } catch { "" }
    }
} | Sort-Object LocalPort | Format-Table -Wrap -AutoSize

<その中でもさらに外部接続があるポートを全て出力するコマンド>
※ただし、コマンドを実行した瞬間での話しなので参考程度に。

# LISTEN中で、実際にESTABLISHEDが存在するポートだけ抽出
$listenConnections = Get-NetTCPConnection -State Listen
$establishedConnections = Get-NetTCPConnection -State Established

$activePorts = $establishedConnections |
    Group-Object LocalPort | ForEach-Object { $_.Name }

$listenConnections | Where-Object {
    $activePorts -contains $_.LocalPort
} | ForEach-Object {
    $proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
    [PSCustomObject]@{
        LocalPort   = $_.LocalPort
        Protocol    = $_.Protocol
        PID         = $_.OwningProcess
        ProcessName = $proc.ProcessName
        Path        = ($proc.Path -join '')
        Description = try {
            (Get-Item ($proc.Path)).VersionInfo.FileDescription
        } catch { "" }
    }
} | Sort-Object LocalPort | Format-Table -Wrap -AutoSize
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?