[登録されているタグ]

[記事公開日]2025/12/21

PowerShellでDNSサーバ設定を確認する|Get-DnsClientServerAddressの使い方

📝 はじめに

インターネットに接続できない、特定のサイトだけ開けないといった
ネットワークトラブルの原因として、
「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*"}
組み合わせ例

🧩 よくある勘違い・つまずきポイント

  • 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サーバ設定を確認したい
  • 名前解決の問題を調べたい
Generic filters
すべてを開く | すべてを閉じる

ページ上部へ戻る