自宅や会社などで、ネットワーク関連の問題に遭遇した場合、トラブルシューティングとしてまず行うのは、疎通・経路・設定などの確認です。
Windows環境だと、これらの確認に「コマンドプロンプト」を利用することが多いですが、「Windows PowerShell」のコマンドレットでもかなりのことができます。
そこで、ここではネットワークの状況チェックをする際に有効な「Windows PowerShell」のコマンドレットを紹介します。
目次
動作環境
この記事は、以下の環境での動作結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。
ソフトウェア | バージョン |
---|---|
Windows10 Pro 64bit | 1809 |
通信状況を確認する
疎通を確認する
Test-NetConnection "ホスト名またはIPアドレス"
「Test-NetConnection」コマンドレットに宛先を指定して実行すると、宛先への疎通確認ができます。
経路を確認する
Test-NetConnection "ホスト名またはIPアドレス" -traceroute
「Test-NetConnection」コマンドレットに「-traceroute」オプションを付けて実行すると、宛先までの経路を確認することができ、問題がある場合には、経路上のどこに問題があるかを確認することができます。
サービスへの接続を確認する
Test-NetConnection "ホスト名またはIPアドレス" -Port #
「Test-NetConnection」コマンドレットに「-port」オプションとポート番号を指定して実行すると、宛先ホストの指定したポート番号への接続を確認することができます。
TCP接続の状況を確認する
Get-NetTCPConnection
「Get-NetTCPConnection」コマンドレットでは、「netstat」コマンドのように、現在のTCP接続の状況を確認できます。たとえば、接続が確立済み、待ち受け中などの状況を確認することができます。
名前解決を確認する
Resolve-DnsName -Name "ホスト名"
「Resolve-DnsName」コマンドレットでは、指定したホスト名の名前解決の状況を確認することができます。また「-server」スイッチでDNSサーバのIPアドレスを指定して実行すれば、指定したDNSサーバーでの名前解決の状況を確認することもできます。
ネットワークアダプターの状況を確認する
ネットワーク設定を確認する
Get-NetIPConfiguration
「Get-NetIPConfiguration」コマンドレットでは、ネットワークアダプタごとの設定情報を一覧表示できます。表示される情報には、IPアドレス・DNSサーバーアドレス、ゲートウェイアドレスなどがあります。「ipconfig」コマンドと同じような感じです。
DNSキャッシュをクリアする
Clear-DnsClientCache
「Clear-DnsClientCache」コマンドレットでは、ローカルに保存されている名前解決の記録を削除します。名前解決に問題が生じている場合に有効なコマンドレットです。
DHCPにより配布されたIPアドレスのリリースと更新
Windows PowerShellでは、DHCPにより配布されたIPアドレスのリリースや更新を直接制御できないので「Invoke-Command」コマンドレットから、ipconfigコマンドを呼び出すことで、IPアドレスのリリースや更新ができます。
リリースする場合
Invoke-Command -ScriptBlock {ipconfig /release}
更新する場合
Invoke-Command -ScriptBlock {ipconfig /renew}
あとがき
私自身は、以前まで「コマンドプロンプト」を利用することが多かったですが、「Windows PowerShell」のコマンドレットでも、大体のことはできそうですね。