[登録されているタグ]

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

PowerShellでDNSキャッシュを疑う|Resolve-DnsNameの使い方

📝 はじめに

「さっきまで開けていたサイトが急に表示されない」
「IPを変更したはずなのに、なぜか古い宛先につながる」
こうした症状の裏で疑われやすいのが
DNSキャッシュです。

PowerShellでは
Resolve-DnsName
を使うことで、
名前解決が正しく行われているか
どのDNSサーバーが応答しているか
を具体的に確認できます。
この記事では、DNSキャッシュを疑うときの切り分け視点で、
Resolve-DnsName の使い方を整理します。

こんな場面で役立ちます

  • ドメインのIP変更後にアクセス先がおかしい
  • 特定のPCだけサイトが開けない
  • 社内DNS・VPN接続時だけ名前解決が不安定

✅ このコマンドでできること(要点)

  • DNS名前解決の結果(IPアドレス)を確認できる
  • 使用されているDNSサーバーを把握できる
  • IPv4 / IPv6 の解決状況を分けて確認できる
  • キャッシュ由来かどうかの判断材料を得られる

✅ Resolve-DnsName でできること

Resolve-DnsName は、
ドメイン名をDNSに問い合わせて
名前解決結果を詳細に表示するコマンドです。

単純な疎通確認用の ping と違い、
どのDNSサーバーが応答したのか、
Aレコード・AAAAレコードなどの違いまで確認できます。

🧩 基本構文

Resolve-DnsName example.com

指定したドメイン名について、
DNS問い合わせ結果が一覧表示されます。

▶ 基本的な使い方(まずこれだけ)

🔹 名前解決できるか確認する

Resolve-DnsName example.com

結果にIPアドレス(A / AAAA レコード)が表示されれば、
DNSによる名前解決自体は成功しています。

結果の見方

  • IPAddress が表示される → 名前解決成功
  • Timeout / No response → DNSサーバーに到達できていない可能性
  • NXDOMAIN → ドメインが存在しない、または参照DNSが違う可能性

🛠 よく使われる指定例

🔹 IPv4 の名前解決だけを確認する

Resolve-DnsName example.com -Type A

IPv6の影響を除外し、
IPv4通信が想定通りかを確認したい場合に使います。

🔹 IPv6 の名前解決を確認する

Resolve-DnsName example.com -Type AAAA

IPv6環境で意図せずIPv6が使われていないかを切り分けられます。

💼 実務でよく使う使用例(応用)

🔹 使用されているDNSサーバーを確認する

Resolve-DnsName example.com | Select-Object Server, Name, IPAddress

応答しているDNSサーバーが想定通りかどうかを確認できます。
VPN接続時に社内DNSへ切り替わっているかの判断材料になります。

🔹 別DNSサーバーで名前解決を試す

Resolve-DnsName example.com -Server 8.8.8.8

ローカルDNSではなく、外部DNSで解決した結果と比較することで、
DNSキャッシュや社内DNSの問題を切り分けできます。

組み合わせ例

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

  • 名前解決できている=通信できる、とは限らない
  • DNSキャッシュはPC・ルータ・DNSサーバー側にも存在する
  • IPv6の結果が優先されて通信が不安定になることがある
  • VPN接続中はDNSサーバーが切り替わる場合がある
  • ブラウザのDNSキャッシュとは別管理

⚠ エラー・うまく動かないときの確認ポイント

  • DNSサーバー設定が正しいか(Get-DnsClientServerAddress
  • 名前解決先を IP 直指定で疎通できるか
  • VPN・プロキシ・セキュリティソフトの影響
  • 一時的なDNSサーバー障害

🧠 注意点

DNSキャッシュが疑われる場合でも、
いきなりキャッシュを削除する前に
Resolve-DnsName で「今どう見えているか」を確認することが重要です。
比較結果があれば、原因特定が一気に楽になります。

📌 まとめ

  • Resolve-DnsName はDNS切り分けの基本コマンド
  • IP・DNSサーバー・IPv4/IPv6を明確に確認できる
  • DNSキャッシュや参照DNSの違いを見抜ける
  • 疎通確認コマンドと併用すると効果的

🔎 PowerShellコマンドを探す

DNSや通信トラブル関連のコマンドは、次のような検索語で探せます。

  • ファイルを削除したい
  • 一覧を表示したい
  • 文字列を検索したい
  • 条件で絞り込みたい
  • エラーや実行できない原因を調べたい
  • DNSキャッシュを確認したい
  • 名前解決できない原因を調べたい
Generic filters
すべてを開く | すべてを閉じる

ページ上部へ戻る