このページについて
Windowsの状態確認やネットワーク障害の切り分け、 トラブルシューティングで使用するコマンドをまとめています。
単なるコマンド一覧ではなく、 「何を調べるコマンドなのか」「結果のどこを見るのか」 を中心に、基本的なものから少しDeepなものまで紹介します。
表示・確認だけを行うコマンドと、 システムやネットワークの状態を変更するコマンドは区別しています。
黒いコマンド欄はクリックすると、その内容をクリップボードへコピーできます。
ネットワーク基本
ipconfig
PCに設定されているIPアドレスなどを確認します。
ipconfig
何が分かる?
IPv4アドレス、サブネットマスク、デフォルトゲートウェイなど。
見るところ
使用中のNICに正しいIPv4アドレスとゲートウェイが設定されているか。
ipconfig /all
ネットワーク設定をより詳細に表示します。
ipconfig /all
何が分かる?
MACアドレス、DHCP、DNSサーバー、リース情報など。
見るところ
DHCPの有効状態、DNSサーバー、物理アドレス、複数NICの設定。
ping
指定した相手との疎通と応答時間を確認します。
ping 192.0.2.1
何が分かる?
応答の有無、応答時間、パケット損失、TTL。
見るところ
「応答」「時間」「損失」を確認します。
hostname
現在使用しているPCのホスト名を表示します。
hostname
使いどころ
リモート作業や複数PCを扱う際に、現在の端末を確認したいとき。
getmac
ネットワークアダプターのMACアドレスを確認します。
getmac /v
見るところ
接続名、ネットワークアダプター、物理アドレス。
arp -a
PCが現在保持しているARPキャッシュを表示します。
arp -a
何が分かる?
IPアドレスとMACアドレスの対応関係。
DNS・名前解決
nslookup
ホスト名やドメイン名がどのIPアドレスへ解決されるか確認します。
nslookup example.com
見るところ
使用されたDNSサーバーと、返されたIPアドレス。
Resolve-DnsName
PowerShellからDNS問い合わせを行います。
Resolve-DnsName example.com
何が分かる?
A、AAAA、CNAMEなどのDNSレコードを詳しく確認できます。
ipconfig /displaydns
Windowsが保持しているDNSキャッシュを表示します。
ipconfig /displaydns
使いどころ
名前解決結果がキャッシュされているか確認したい場合。
ipconfig /flushdns
WindowsのDNSリゾルバーキャッシュを消去します。
ipconfig /flushdns
使いどころ
DNS変更後など、古い名前解決情報を破棄したい場合。
経路・ルーティング
tracert
通信先までの経路をホップ単位で確認します。
tracert example.com
見るところ
どの区間まで応答があり、どこから応答がなくなるか。
pathping
経路確認とパケット損失の調査を組み合わせたコマンドです。
pathping example.com
使いどころ
通信経路のどの付近で損失が発生しているか調査するとき。
結果が出るまで時間がかかります。
route print
Windowsのルーティングテーブルを表示します。
route print
見るところ
デフォルトルート、宛先ネットワーク、ゲートウェイ、メトリック。
Get-NetRoute
PowerShellからルーティング情報を詳細に取得します。
Get-NetRoute
使いどころ
複数NICやVPNなど、経路選択を詳しく確認したい場合。
ポート・接続
netstat -ano
TCP/UDPの接続状態とPIDを確認します。
netstat -ano
見るところ
ローカルアドレス、外部アドレス、状態、PID。
Test-NetConnection
指定したTCPポートまで接続できるか確認します。
Test-NetConnection 192.0.2.10 -Port 445
見るところ
TcpTestSucceeded が True か False か。
SMBなら445、HTTPSなら443など、サービス単位の切り分けに便利です。
Get-NetTCPConnection
現在のTCP接続をPowerShellオブジェクトとして取得します。
Get-NetTCPConnection
使いどころ
状態やポート番号で絞り込みたい場合に便利です。
NIC・Wi-Fi
Get-NetAdapter
ネットワークアダプターの状態を一覧表示します。
Get-NetAdapter
見るところ
Name、InterfaceDescription、Status、LinkSpeed、MacAddress。
Get-NetIPConfiguration
NICごとのIP設定を見やすく確認します。
Get-NetIPConfiguration
見るところ
IPv4Address、IPv4DefaultGateway、DNSServer。
netsh wlan show interfaces
現在のWi-Fi接続情報を表示します。
netsh wlan show interfaces
何が分かる?
SSID、BSSID、信号強度、無線方式、チャネルなど。
netsh wlan show drivers
無線LANアダプターとドライバーの対応機能を表示します。
netsh wlan show drivers
使いどころ
対応無線方式やドライバー情報を確認したい場合。
SMB・共有
net use
現在のネットワーク接続や割り当てを確認します。
net use
見るところ
ドライブ文字、UNCパス、接続状態。
net view
ネットワーク上の共有情報を確認するためのコマンドです。
net view \\NAS-SAMPLE
使いどころ
指定したコンピューターが公開している共有を確認したい場合。
Get-SmbConnection
現在確立しているSMB接続を表示します。
Get-SmbConnection
見るところ
ServerName、ShareName、Dialectなど。
Get-SmbMapping
SMB共有へのマッピング状態を確認します。
Get-SmbMapping
使いどころ
ネットワークドライブの割り当て状態を詳しく確認したい場合。
Windowsシステム
systeminfo
WindowsやPCの基本的なシステム情報を表示します。
systeminfo
何が分かる?
OS、ビルド、起動時刻、メモリ、ネットワーク情報など。
whoami
現在コマンドを実行しているユーザーを確認します。
whoami
権限やアカウントの切り分け時に便利です。
tasklist
現在実行中のプロセスを一覧表示します。
tasklist
見るところ
イメージ名、PID、メモリ使用量など。
sc query
Windowsサービスの状態を確認します。
sc query
サービス障害の切り分けなどに利用できます。
修復・診断
sfc /scannow
Windowsの保護されたシステムファイルを検査し、可能な場合は修復します。
sfc /scannow
DISM /ScanHealth
Windowsイメージに破損がないか詳しくスキャンします。
DISM /Online /Cleanup-Image /ScanHealth
修復前の状態確認として使用できます。
DISM /RestoreHealth
Windowsイメージの破損を修復します。
DISM /Online /Cleanup-Image /RestoreHealth
システム修復を行うコマンドです。 状態確認だけが目的なら、先にScanHealthなどで状況を確認します。
chkdsk
ファイルシステムの状態を確認します。
chkdsk C:
オプションなしなら基本的には状態確認です。
/f や /r などを付けると修復処理が伴います。
オプションの意味を確認してから使用してください。
PowerShell・Deep解析
Get-Process
現在実行中のプロセスをPowerShellで取得します。
Get-Process
並べ替えや絞り込みと組み合わせると、より詳しい解析ができます。
Get-Service
Windowsサービスの状態を一覧表示します。
Get-Service
見るところ
Status、Name、DisplayName。
Get-CimInstance Win32_OperatingSystem
WindowsのOS情報をCIM経由で取得します。
Get-CimInstance Win32_OperatingSystem
OSバージョン、ビルド、メモリ、起動時刻などを オブジェクトとして扱えます。
Get-CimInstance Win32_Processor
CPU情報を取得します。
Get-CimInstance Win32_Processor |
Select-Object Name, NumberOfCores, NumberOfLogicalProcessors
CPU名、物理コア数、論理プロセッサ数などを確認できます。
Get-WinEvent
WindowsイベントログをPowerShellから取得します。
Get-WinEvent -LogName System -MaxEvents 20
使いどころ
障害発生時刻付近のシステムイベントを調査するとき。
Get-NetIPInterface
IPインターフェイスの詳細状態を確認します。
Get-NetIPInterface
見るところ
InterfaceAlias、AddressFamily、ConnectionState、InterfaceMetricなど。
複数NICやIPv4/IPv6、メトリックの調査に便利です。
設定を変更するコマンドについて
Windowsには、ネットワーク設定やサービス、 ルーティングなどをコマンドから直接変更できる機能もあります。
たとえばルートの追加・削除、NICの有効化・無効化、 サービスの開始・停止などです。
変更系コマンドは、実行したPCの通信断やサービス停止などを 引き起こす可能性があります。 このページでは「診断して原因を確認する」ことを優先し、 変更操作については必要性と影響を理解したうえで使用するものとします。
調べる → 判断する → 必要なら変更する。
いきなり設定を変更せず、まず現在の状態を確認するのが基本です。