もくじ
📝 はじめに
インターネットに接続できない、特定のサイトだけ開けないといった
ネットワークトラブルの原因として、
「DNSサーバの設定」が影響していることは少なくありません。
そんなときに役立つのが
Get-DnsClientServerAddress です。
この記事では、PowerShellで現在設定されているDNSサーバを確認する基本的な方法を、
切り分けの考え方とあわせて解説します。
- Webサイトが名前解決できないとき
- 社内DNS・プロバイダDNSが正しく設定されているか確認したいとき
- VPN接続後にDNSが切り替わっているか確認したいとき
✅ このコマンドでできること(要点)
- 現在使用中のDNSサーバアドレスを確認できる
- ネットワークアダプタごとにDNS設定を把握できる
- IPv4 / IPv6 のDNS設定を個別に確認できる
- トラブル切り分けをスクリプトで自動化できる
✅ Get-DnsClientServerAddress でできること
Get-DnsClientServerAddress は、
Windowsに設定されているDNSサーバの情報を
ネットワークアダプタ単位で一覧表示するコマンドです。
ipconfig /all と似た目的で使われますが、
PowerShellでは結果をオブジェクトとして扱えるため、
必要な情報だけを抽出しやすいのが特徴です。
🧩 基本構文
Get-DnsClientServerAddress
引数を付けずに実行すると、
すべてのネットワークアダプタに設定されているDNSサーバが表示されます。
▶ 基本的な使い方(まずこれだけ)
🔹 DNSサーバ設定を一覧で確認する
Get-DnsClientServerAddress
DNSサーバのIPアドレスが表示されていれば、
設定情報は正しく取得できています。
この結果が見られれば、まずは問題ありません。
🔹 アダプタ名とDNSサーバを確認する
Get-DnsClientServerAddress |
Select-Object InterfaceAlias, ServerAddresses
有線・無線・VPNなど、
どのアダプタにどのDNSが設定されているかを把握しやすくなります。
🛠 よく使われる指定例
🔹 IPv4のDNSサーバだけを確認する
Get-DnsClientServerAddress -AddressFamily IPv4
IPv6を除外し、
IPv4環境のDNSトラブルに集中して確認したい場合に便利です。
🔹 特定のアダプタのDNS設定を確認する
Get-DnsClientServerAddress -InterfaceAlias "Wi-Fi"
無線LANだけのDNS設定を確認したい場合などに使えます。
💼 実務でよく使う使用例(応用)
🔹 DNS未設定のアダプタを確認する
Get-DnsClientServerAddress |
Where-Object {$_.ServerAddresses -eq $null}
DNSが設定されていないアダプタを見つけることで、
通信できない原因の切り分けに役立ちます。
🔹 VPN接続時のDNS切り替えを確認する
Get-DnsClientServerAddress |
Where-Object {$_.InterfaceAlias -like "*VPN*"}
- Get-NetIPConfiguration でIP設定と合わせて確認
- Resolve-DnsName で名前解決テスト
- Test-Connection で疎通確認
🧩 よくある勘違い・つまずきポイント
- DNSが設定されていても正しく応答するとは限らない
- IPv6のDNSが優先される場合がある
- VPN接続でDNSが自動的に切り替わることがある
- 複数DNSが設定されていても順番通りに使われない場合がある
- 管理者権限が必要と勘違いされやすい
🔄 cmdとの違いについて
cmdの ipconfig /all は情報量が多く、
必要なDNS情報を探すのに時間がかかることがあります。
Get-DnsClientServerAddress は、
DNS設定に特化して確認できる点が大きな違いです。
⚠ エラー・うまく動かないときの確認ポイント
- 対象アダプタが有効(Up)になっているか
- VPN・仮想アダプタの影響を受けていないか
- DHCPでDNSが正しく配布されているか
- 手動設定のDNSが残っていないか
🧠 注意点
DNSサーバの設定確認だけでは、
実際に名前解決できているかは分かりません。
必要に応じて
Resolve-DnsName などで
実際の名前解決テストを行うのがおすすめです。
📌 まとめ
- Get-DnsClientServerAddressはDNS設定確認の基本コマンド
- アダプタ単位でDNSサーバを把握できる
- ネットワークトラブル切り分けに非常に有効
- 次は名前解決テストと組み合わせると理解が深まる
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- DNSサーバ設定を確認したい
- 名前解決の問題を調べたい
