もくじ
📝 はじめに
ネットワークの不具合対応や環境切り替えの場面で、
「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
}
- Get-DnsClientServerAddress で設定確認
- Resolve-DnsName で名前解決テスト
- Test-Connection で通信確認
🧩 よくある勘違い・つまずきポイント
- DNSを変更しても即座に反映されない場合がある
- VPN接続中はDNSが上書きされることがある
- IPv6のDNS設定が別に残っていることがある
- アダプタ名の指定ミスで反映されない
- 管理者権限が必要な環境がある
🔄 cmdとの違いについて
cmdではDNS設定を変更するには複数の手順が必要です。
Set-DnsClientServerAddress は、
PowerShellならではのシンプルで再現性の高いDNS設定変更が行えます。
⚠ エラー・うまく動かないときの確認ポイント
- 管理者権限でPowerShellを起動しているか
- 指定したアダプタが有効(Up)になっているか
- VPN・セキュリティソフトの影響
- DNSサーバのIPアドレスが正しいか
🧠 注意点
DNSサーバの変更は、
社内ネットワークや業務システムの通信に影響を与える場合があります。
本番環境では事前確認を行い、
一時的な切り分け用途として使うのがおすすめです。
📌 まとめ
- Set-DnsClientServerAddressはDNS設定変更の基本コマンド
- アダプタ単位で柔軟に設定できる
- 切り分けや一時対応に非常に有効
- 次はDNS確認・名前解決テストと併用すると安心
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- DNSサーバを変更したい
- 名前解決の問題を解消したい
