morhirc | Free Software Developer

Windows コマンド集

基本からDeepな診断まで。用途・見方・注意点とともに。

← morhirc ホームへ戻る

このページについて

Windowsの状態確認やネットワーク障害の切り分け、 トラブルシューティングで使用するコマンドをまとめています。

単なるコマンド一覧ではなく、 「何を調べるコマンドなのか」「結果のどこを見るのか」 を中心に、基本的なものから少しDeepなものまで紹介します。

表示・確認だけを行うコマンドと、 システムやネットワークの状態を変更するコマンドは区別しています。

黒いコマンド欄はクリックすると、その内容をクリップボードへコピーできます。

注意: [管理者権限][設定変更][要注意!]の表示があるものは、 内容を確認してから実行してください。 業務PCや管理下のPCでは、組織の運用ルールを優先してください。

ネットワーク基本

ipconfig

基本 確認のみ

PCに設定されているIPアドレスなどを確認します。

ipconfig

何が分かる?
IPv4アドレス、サブネットマスク、デフォルトゲートウェイなど。

見るところ
使用中のNICに正しいIPv4アドレスとゲートウェイが設定されているか。

ipconfig /all

基本 確認のみ

ネットワーク設定をより詳細に表示します。

ipconfig /all

何が分かる?
MACアドレス、DHCP、DNSサーバー、リース情報など。

見るところ
DHCPの有効状態、DNSサーバー、物理アドレス、複数NICの設定。

ping

基本 確認のみ

指定した相手との疎通と応答時間を確認します。

ping 192.0.2.1

何が分かる?
応答の有無、応答時間、パケット損失、TTL。

見るところ
「応答」「時間」「損失」を確認します。

要注意: pingが通らない=相手が停止している、とは限りません。 FirewallなどでICMP応答を許可していない機器もあります。

hostname

基本 確認のみ

現在使用しているPCのホスト名を表示します。

hostname

使いどころ
リモート作業や複数PCを扱う際に、現在の端末を確認したいとき。

getmac

基本 確認のみ

ネットワークアダプターのMACアドレスを確認します。

getmac /v

見るところ
接続名、ネットワークアダプター、物理アドレス。

arp -a

中級 確認のみ

PCが現在保持しているARPキャッシュを表示します。

arp -a

何が分かる?
IPアドレスとMACアドレスの対応関係。

表示されない機器が「LAN上に存在しない」とは限りません。 ARPテーブルはLAN全体の機器一覧ではありません。
↑ カテゴリへ戻る

DNS・名前解決

nslookup

基本 確認のみ

ホスト名やドメイン名がどのIPアドレスへ解決されるか確認します。

nslookup example.com

見るところ
使用されたDNSサーバーと、返されたIPアドレス。

Resolve-DnsName

中級 PowerShell

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

見るところ
どの区間まで応答があり、どこから応答がなくなるか。

途中の「*」だけで障害とは判断できません。 ICMPに応答しないルーターもあります。

pathping

中級 確認のみ

経路確認とパケット損失の調査を組み合わせたコマンドです。

pathping example.com

使いどころ
通信経路のどの付近で損失が発生しているか調査するとき。

結果が出るまで時間がかかります。

route print

中級 確認のみ

Windowsのルーティングテーブルを表示します。

route print

見るところ
デフォルトルート、宛先ネットワーク、ゲートウェイ、メトリック。

Get-NetRoute

Deep PowerShell 確認のみ

PowerShellからルーティング情報を詳細に取得します。

Get-NetRoute

使いどころ
複数NICやVPNなど、経路選択を詳しく確認したい場合。

↑ カテゴリへ戻る

ポート・接続

netstat -ano

中級 確認のみ

TCP/UDPの接続状態とPIDを確認します。

netstat -ano

見るところ
ローカルアドレス、外部アドレス、状態、PID。

Test-NetConnection

中級 PowerShell 確認のみ

指定したTCPポートまで接続できるか確認します。

Test-NetConnection 192.0.2.10 -Port 445

見るところ
TcpTestSucceeded が True か False か。

SMBなら445、HTTPSなら443など、サービス単位の切り分けに便利です。

Get-NetTCPConnection

Deep PowerShell 確認のみ

現在のTCP接続をPowerShellオブジェクトとして取得します。

Get-NetTCPConnection

使いどころ
状態やポート番号で絞り込みたい場合に便利です。

↑ カテゴリへ戻る

NIC・Wi-Fi

Get-NetAdapter

中級 PowerShell 確認のみ

ネットワークアダプターの状態を一覧表示します。

Get-NetAdapter

見るところ
Name、InterfaceDescription、Status、LinkSpeed、MacAddress。

Get-NetIPConfiguration

中級 PowerShell 確認のみ

NICごとのIP設定を見やすく確認します。

Get-NetIPConfiguration

見るところ
IPv4Address、IPv4DefaultGateway、DNSServer。

netsh wlan show interfaces

中級 Wi-Fi 確認のみ

現在のWi-Fi接続情報を表示します。

netsh wlan show interfaces

何が分かる?
SSID、BSSID、信号強度、無線方式、チャネルなど。

Windowsのプライバシー設定などにより、 一部のWi-Fi情報を取得できない場合があります。

netsh wlan show drivers

Deep Wi-Fi 確認のみ

無線LANアダプターとドライバーの対応機能を表示します。

netsh wlan show drivers

使いどころ
対応無線方式やドライバー情報を確認したい場合。

↑ カテゴリへ戻る

SMB・共有

net use

基本 確認のみ

現在のネットワーク接続や割り当てを確認します。

net use

見るところ
ドライブ文字、UNCパス、接続状態。

net view

中級 確認のみ

ネットワーク上の共有情報を確認するためのコマンドです。

net view \\NAS-SAMPLE

使いどころ
指定したコンピューターが公開している共有を確認したい場合。

Get-SmbConnection

中級 PowerShell 確認のみ

現在確立しているSMB接続を表示します。

Get-SmbConnection

見るところ
ServerName、ShareName、Dialectなど。

Get-SmbMapping

Deep PowerShell 確認のみ

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

Deep 管理者権限 診断

Windowsイメージに破損がないか詳しくスキャンします。

DISM /Online /Cleanup-Image /ScanHealth

修復前の状態確認として使用できます。

DISM /RestoreHealth

Deep 管理者権限 修復あり

Windowsイメージの破損を修復します。

DISM /Online /Cleanup-Image /RestoreHealth
要注意!
システム修復を行うコマンドです。 状態確認だけが目的なら、先にScanHealthなどで状況を確認します。

chkdsk

中級 確認のみ

ファイルシステムの状態を確認します。

chkdsk C:

オプションなしなら基本的には状態確認です。

要注意!
/f や /r などを付けると修復処理が伴います。 オプションの意味を確認してから使用してください。
↑ カテゴリへ戻る

PowerShell・Deep解析

Get-Process

基本 PowerShell 確認のみ

現在実行中のプロセスをPowerShellで取得します。

Get-Process

並べ替えや絞り込みと組み合わせると、より詳しい解析ができます。

Get-Service

基本 PowerShell 確認のみ

Windowsサービスの状態を一覧表示します。

Get-Service

見るところ
Status、Name、DisplayName。

Get-CimInstance Win32_OperatingSystem

中級 PowerShell 確認のみ

WindowsのOS情報をCIM経由で取得します。

Get-CimInstance Win32_OperatingSystem

OSバージョン、ビルド、メモリ、起動時刻などを オブジェクトとして扱えます。

Get-CimInstance Win32_Processor

中級 PowerShell 確認のみ

CPU情報を取得します。

Get-CimInstance Win32_Processor |
Select-Object Name, NumberOfCores, NumberOfLogicalProcessors

CPU名、物理コア数、論理プロセッサ数などを確認できます。

Get-WinEvent

Deep PowerShell 確認のみ

WindowsイベントログをPowerShellから取得します。

Get-WinEvent -LogName System -MaxEvents 20

使いどころ
障害発生時刻付近のシステムイベントを調査するとき。

Get-NetIPInterface

Deep PowerShell 確認のみ

IPインターフェイスの詳細状態を確認します。

Get-NetIPInterface

見るところ
InterfaceAlias、AddressFamily、ConnectionState、InterfaceMetricなど。

複数NICやIPv4/IPv6、メトリックの調査に便利です。

↑ カテゴリへ戻る

設定を変更するコマンドについて

Windowsには、ネットワーク設定やサービス、 ルーティングなどをコマンドから直接変更できる機能もあります。

たとえばルートの追加・削除、NICの有効化・無効化、 サービスの開始・停止などです。

要注意!
変更系コマンドは、実行したPCの通信断やサービス停止などを 引き起こす可能性があります。 このページでは「診断して原因を確認する」ことを優先し、 変更操作については必要性と影響を理解したうえで使用するものとします。

調べる → 判断する → 必要なら変更する。
いきなり設定を変更せず、まず現在の状態を確認するのが基本です。

Topへ戻る↑ ― MOA工房 ―