Windowsで名前解決できないときは?Resolve-DnsNameでDNSを確認する方法

  • 公開:2026.10.02
  • 更新:2026.10.02
  • 未分類
Windowsで名前解決できないときは?Resolve-DnsNameでDNSを確認する方法

サーバー名を指定すると接続できないのに、IPアドレスなら反応がある。そんなときは、接続先の名前からどのIPアドレスが得られるかを調べると、原因を絞る手がかりになります。Windows PowerShellのResolve-DnsNameで、名前解決の結果と問い合わせ先を順に見ていきましょう。


ホスト名からIPアドレスを調べる

スタートメニューからWindows PowerShellを開き、次のコマンドを実行します。example.comは説明用の名前なので、実際には接続したいホスト名へ置き換えてください。https://や、その後ろのパスは付けません。

Resolve-DnsName -Name example.com -Type A -DnsOnly -NoHostsFile

AはIPv4アドレスを調べる指定です。-DnsOnlyはDNSだけを使い、-NoHostsFileはPCのhostsファイルを参照せずに調べる指定です。普段のアプリの名前解決には別の条件が加わることもあるため、まずDNSの応答を見たいときに使います。

結果のTypeがAの行では、IPAddressが返されたIPv4アドレスです。複数のアドレスが返るサービスもあります。手元のWindows PowerShell 5.1でも、example.comへの問い合わせで複数のAレコードが返ることを確認できました。表示される値は問い合わせる時点や環境によって変わります。

IPv6の結果も調べる

Resolve-DnsName -Name example.com -Type AAAA -DnsOnly -NoHostsFile

AAAAはIPv6アドレスです。IPv4とIPv6を別々に調べると、どちらのアドレスが登録されているかを見やすくなります。片方のレコードがない構成もあるので、AAAAの応答がないことだけでサービス全体の障害とは判断できません。

各指定の説明はMicrosoftのResolve-DnsName資料に掲載されています。

設定されているDNSサーバーを確認する

社内サーバー名だけが見つからない場合は、どのDNSサーバーへ問い合わせる環境なのかも手がかりになります。次のコマンドで、ネットワークインターフェイスごとの設定を表示できます。

Get-DnsClientServerAddress

InterfaceAliasとServerAddressesを見て、利用中の接続にどのアドレスが設定されているかを確認してください。VPNなど複数の接続がある場合は、この一覧だけで実際の問い合わせ経路を断定せず、利用しているネットワークの構成と合わせて調べます。

出典:Get-DnsClientServerAddress。

問い合わせ先を指定して比べる

管理担当者から案内されたDNSサーバーがあるなら、問い合わせ先を明示して結果を比べられます。次の192.0.2.53は記述例なので、利用を許可されたDNSサーバーの実際のアドレスへ置き換えます。

Resolve-DnsName -Name server.example.com -Type A -Server 192.0.2.53 -DnsOnly -NoHostsFile

-Serverはこの問い合わせの宛先指定で、PC全体のDNS設定を変更する操作ではありません。社内だけで使う名前は社内DNSで確認する方が状況を捉えやすく、外部DNSに問い合わせても同じ答えが得られるとは限りません。

返された結果から次の確認へ進む

  • アドレスが返る:想定する接続先かを確認し、目的のサービスへの接続テストへ進みます。
  • 名前が見つからない:ホスト名の綴りと、社内向け・公開向けのどちらの名前かを確認します。
  • 応答を待って失敗する:問い合わせ先へ接続できるネットワークか、必要なVPNが接続されているかを調べます。

DNSの応答が得られることと、SSHやWebサービスに接続できることは別の段階です。名前が解決できた後は、Test-NetConnectionでTCPポートへの接続を確認する方法へ進むと、サービス側の接続結果まで確かめられます。IPアドレスを直接使ったWeb表示では証明書やサイトの振り分け条件も変わるため、単純な成功・失敗だけでDNSの不具合と決めつけず、ホスト名で得た結果と合わせて判断すると整理しやすくなります。

このブラウザからの自分のアクセスを解析から除外できます。