PowerShellで簡単設定!WindowsのDNSサーバーアドレスを変更する方法

Windows

インターネットを使うとき、あなたのコンピュータは「DNS」という仕組みを使っています。

DNSとは、ウェブサイトの名前(example.com など)をコンピュータが理解できる数字の住所に変換する仕組みです。

普段はマウスでクリックして設定を変えることが多いですが、PowerShellというツールを使えばコマンドで簡単に設定を変更できます。

これにより、設定の自動化やリモート操作が可能になります。

この記事では、PowerShellを使ってDNSサーバーのアドレスを変更する方法から、元に戻す方法、よくあるトラブルの解決方法まで、初心者の方にもわかりやすく説明します。

スポンサーリンク

PowerShellでDNS設定を変更する準備

管理者権限でPowerShellを起動する

DNS設定を変更するには、管理者の権限が必要です。以下の手順で起動しましょう。

  1. スタートメニューを開く
  2. 「PowerShell」と入力して検索
  3. 「Windows PowerShell」を右クリック
  4. 「管理者として実行」を選択

どのネットワーク接続を変更するか確認する

コンピュータには複数のネットワーク接続(有線LAN、Wi-Fi など)があることがあります。どの接続のDNSを変更するか確認しましょう。

Get-NetAdapter | Select-Object InterfaceAlias, InterfaceIndex

このコマンドを実行すると、以下のような結果が表示されます:

InterfaceAlias InterfaceIndex
-------------- --------------
Ethernet                   4
Wi-Fi                      8

InterfaceAliasは接続の名前、InterfaceIndexは番号です。この情報を後で使用します。

DNSサーバーアドレスを設定する基本的な方法

番号を使って設定する方法

Set-DnsClientServerAddress -InterfaceIndex 4 -ServerAddresses ("8.8.8.8","8.8.4.4")

コマンドの説明

  • Set-DnsClientServerAddress:DNS設定を変更するコマンド
  • -InterfaceIndex 4:接続番号4(Ethernet)を指定
  • -ServerAddresses:使用するDNSサーバーのアドレス

この例では、GoogleのパブリックDNS(8.8.8.8と8.8.4.4)を設定しています。

接続名を使って設定する方法

番号ではなく接続名でも指定できます:

Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses @("1.1.1.1", "1.0.0.1")

この例では、CloudflareのDNS(1.1.1.1と1.0.0.1)を設定しています。

おすすめのDNSサーバー

  • Google DNS:8.8.8.8, 8.8.4.4
  • Cloudflare DNS:1.1.1.1, 1.0.0.1
  • Quad9 DNS:9.9.9.9, 149.112.112.112

DNS設定を元に戻す方法

設定を変更後、元の状態に戻したい場合があります。以下のコマンドで、DHCP(自動取得)設定に戻すことができます:

Set-DnsClientServerAddress -InterfaceIndex 4 -ResetServerAddresses

-ResetServerAddressesオプションを使うことで、手動設定を削除して自動取得に戻ります。

設定の確認とトラブルシューティング

現在のDNS設定を確認する

設定が正しく適用されているか確認しましょう:

Get-DnsClientServerAddress -InterfaceIndex 4

DNSキャッシュをクリアする

DNS設定を変更しても、古い情報が残っている場合があります。キャッシュをクリアしてリフレッシュしましょう:

Clear-DnsClientCache

DNS解決のテスト

設定したDNSサーバーが正しく動作しているか確認:

Resolve-DnsName google.com

このコマンドでgoogle.comのIPアドレスが表示されれば、DNS設定は正常に動作しています。

高度な設定:DNS over HTTPS(DoH)

Windows 10/11では、より安全なDNS over HTTPS(DoH)も設定できます:

Add-DnsClientDohServerAddress -ServerAddress "1.1.1.1" -DohTemplate "https://cloudflare-dns.com/dns-query" -AllowFallbackToUdp $False -AutoUpgrade $True

DoHのメリット

  • 通信の暗号化
  • プライバシーの保護
  • 安全性の向上

よくあるトラブルと解決方法

設定が反映されない場合

原因:管理者権限でPowerShellを起動していない

解決方法:PowerShellを管理者として再起動する

設定がDHCP(自動取得)に戻ってしまう場合

原因:ネットワーク設定でDHCPが優先されている

解決方法:リセットではなく、もう一度静的なDNSアドレスを設定する

インターフェース番号がわからない場合

原因:ネットワーク環境の変化

解決方法Get-NetAdapterコマンドで最新の一覧を確認する

設定後もインターネットに接続できない場合

原因:DNSサーバーが応答しない、または間違ったアドレスを設定

解決方法

  1. 別のDNSサーバーを試す
  2. 設定をリセットして元に戻す
  3. ネットワーク接続を確認する

複数の接続を一括設定する方法

すべてのネットワーク接続に同じDNS設定を適用する場合:

Get-NetAdapter | ForEach-Object {
    Set-DnsClientServerAddress -InterfaceIndex $_.InterfaceIndex -ServerAddresses ("8.8.8.8","8.8.4.4")
}

このコマンドは、すべてのネットワーク接続にGoogleのDNSを設定します。

まとめ

PowerShellを使ったDNS設定の変更は、慣れてしまえばとても簡単です。この記事で学んだ内容をまとめると:

  1. 管理者権限でPowerShellを起動する
  2. Get-NetAdapterでネットワーク接続を確認
  3. Set-DnsClientServerAddressでDNSを設定
  4. -ResetServerAddressesで元に戻す
  5. Get-DnsClientServerAddressで設定を確認

PowerShellでのDNS設定は、GUIでの操作よりも効率的で、スクリプト化により複数台のコンピュータを一括管理することも可能です。

DNS設定を変更することで、インターネットの速度向上やセキュリティの強化が期待できます。ぜひこの記事を参考にして、あなたの環境に最適なDNS設定を見つけてください。

コメント

タイトルとURLをコピーしました