[登録されているタグ]

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

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

📝 はじめに

ネットワークの不具合対応や環境切り替えの場面で、
「DNSサーバを手動で指定したい」
「一時的にパブリックDNSへ切り替えて挙動を確認したい」
と考えることはありませんか?

そんなときに使えるのが
Set-DnsClientServerAddress です。
この記事では、PowerShellでDNSサーバを安全に設定・変更する基本的な使い方を、
実務での注意点とあわせて解説します。

こんな場面で便利

  • 名前解決トラブルの切り分けをしたいとき
  • 社内DNSから一時的に外部DNSへ切り替えたいとき
  • 複数端末のDNS設定をスクリプトで統一したいとき

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

  • ネットワークアダプタごとにDNSサーバを設定できる
  • IPv4 / IPv6 のDNSを個別に指定できる
  • 複数のDNSサーバを順番付きで設定できる
  • GUI操作なしで設定変更を自動化できる

✅ Set-DnsClientServerAddress でできること

Set-DnsClientServerAddress は、
Windowsのネットワークアダプタに対して
DNSサーバのアドレスを直接設定するためのコマンドです。

コントロールパネルや設定画面を開かずに、
PowerShellから即座にDNS設定を切り替えられるのが大きな特徴です。

🧩 基本構文

Set-DnsClientServerAddress -InterfaceAlias アダプタ名 -ServerAddresses DNSアドレス

-InterfaceAlias には対象のアダプタ名、
-ServerAddresses には設定したいDNSサーバのIPアドレスを指定します。

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

🔹 Google Public DNS を設定する

Set-DnsClientServerAddress -InterfaceAlias "Wi-Fi" -ServerAddresses 8.8.8.8,8.8.4.4

実行後、このアダプタでは指定したDNSサーバが使われます。
エラーが出なければ、設定は正常に反映されています。

🔹 Cloudflare DNS を設定する

Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 1.1.1.1,1.0.0.1

有線LANのみDNSを切り替えたい場合に便利です。

🛠 よく使われる指定例

🔹 IPv4のDNSだけを設定する

Set-DnsClientServerAddress -InterfaceAlias "Wi-Fi" -AddressFamily IPv4 -ServerAddresses 8.8.8.8

IPv6設定を変更せずに、
IPv4環境だけを調整したい場合に使えます。

🔹 DHCP配布のDNSに戻す

Set-DnsClientServerAddress -InterfaceAlias "Wi-Fi" -ResetServerAddresses

手動設定を解除し、
DHCPで配布されるDNS設定に戻します。
この結果が出ていれば、元の状態に復旧しています。

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

🔹 名前解決トラブルの切り分け

Set-DnsClientServerAddress -InterfaceAlias "Wi-Fi" -ServerAddresses 8.8.8.8
Resolve-DnsName example.com

DNSを切り替えたあと、
実際に名前解決できるかを確認します。

🔹 複数アダプタのDNSをまとめて設定

Get-NetAdapter |
Where-Object {$_.Status -eq "Up"} |
ForEach-Object {
    Set-DnsClientServerAddress -InterfaceAlias $_.Name -ServerAddresses 1.1.1.1
}
組み合わせ例

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

  • DNSを変更しても即座に反映されない場合がある
  • VPN接続中はDNSが上書きされることがある
  • IPv6のDNS設定が別に残っていることがある
  • アダプタ名の指定ミスで反映されない
  • 管理者権限が必要な環境がある

🔄 cmdとの違いについて

cmdではDNS設定を変更するには複数の手順が必要です。
Set-DnsClientServerAddress は、
PowerShellならではのシンプルで再現性の高いDNS設定変更が行えます。

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

  • 管理者権限でPowerShellを起動しているか
  • 指定したアダプタが有効(Up)になっているか
  • VPN・セキュリティソフトの影響
  • DNSサーバのIPアドレスが正しいか

🧠 注意点

DNSサーバの変更は、
社内ネットワークや業務システムの通信に影響を与える場合があります。
本番環境では事前確認を行い、
一時的な切り分け用途として使うのがおすすめです。

📌 まとめ

  • Set-DnsClientServerAddressはDNS設定変更の基本コマンド
  • アダプタ単位で柔軟に設定できる
  • 切り分けや一時対応に非常に有効
  • 次はDNS確認・名前解決テストと併用すると安心

🔎 PowerShellコマンドを探す

やりたいことからコマンドを探せます。

  • ファイルを削除したい
  • 一覧を表示したい
  • 文字列を検索したい
  • 条件で絞り込みたい
  • エラーや実行できない原因を調べたい
  • DNSサーバを変更したい
  • 名前解決の問題を解消したい
Generic filters
すべてを開く | すべてを閉じる

ページ上部へ戻る