29歳、離婚しました。

家事は元妻にまかせっきり。そんな生活力ゼロ男の離婚後の生活を綴ったブログです。著者がその後の生活の中で見つけた生活術やお役立ち情報をお届けします。

PowerShellを使ってDNSサーバーのIPアドレスを設定したり、DHCPによる自動取得に変更する方法

   

このブログでは、アフィリエイト広告を利用しています。

PowerShellを使って、WindowsのDNSサーバーのIPアドレスの設定を変更したい!

Windows PCを運用していると、DNSサーバーの交換やネットワーク構成の変更に伴い、DNSサーバーのIPアドレスの設定変更が必要となることがあります。

こういった場合、以下のようなネットワークの設定画面で、GUI操作を行って変更することが多いでしょう。

優先DNSサーバーを設定している様子

参考:WindowsにDNSサーバーを手動で複数(3つ以上)設定する方法とその仕組み

ですがGUIを使った設定操作ではなく、PowerShellを使ったコマンド操作でDNSサーバーのIPアドレスの設定を行いたい!
というケースもあるでしょう。

そこで今回は、PowerShellを使ってDNSサーバーのIPアドレスの設定を行ったり、DHCPサーバーから通知されたDNSサーバーのIPアドレスを使用するように構成する方法をご紹介します!

ネットワークインターフェースの一覧情報(インターフェースエイリアスやインターフェースインデックス)を確認する方法

PowerShellを使ってDNSサーバーのIPアドレスの設定を行う場合、設定対象のネットワークインターフェースのインターフェースエイリアスか、インターフェースインデックスが必要となります。
そのため、まずはこれらを調べる方法をご紹介しましょう。

PCが搭載しているネットワークインターフェースのインターフェースエイリアスや、インターフェースインデックスを調べたい場合、PowerShellを起動して『Get-NetIPInterface』コマンドレットを実行します。

すると以下のように、PCが搭載しているネットワークインターフェースが一覧表示され、それぞれのインターフェースエイリアスやインターフェースインデックスを確認できます。

Get-NetIPInterfaceコマンドレットの実行例

上記実行例では、コントロールパネルの『ネットワーク接続』画面で『イーサネット 2』と表示されているネットワークインターフェースのインターフェースエイリアスが、『イーサネット 2』。
そしてインターフェースインデックスが『5』であることが分かります。

先にも書いたとおり、PowerShellを使ってDNSサーバーのIPアドレスの設定を行う場合は、インターフェースエイリアスかインターフェースインデックスが必要であるため、どちらかの値を覚えておいてください。

以後の説明では、インターフェースエイリアスが『イーサネット 2』で、インターフェースインデックスが『5』のネットワークインターフェースに対し、設定を行う前提で設定方法を紹介しています。

PowerShellを使って、WindowsのDNSサーバーのIPアドレスを静的に(固定)設定する方法

PowerShellを使って、DNSサーバーのIPアドレスを静的に(固定)設定する場合は、『Set-DnsClientServerAddress』コマンドレットを使用します。
たとえばDNSサーバーのIPアドレスとして『192.168.1.101』を設定したい場合、以下コマンドを実行します。

『-ServerAddress』に一つのIPアドレスを指定した場合、そのIPアドレスが優先DNSサーバー※のIPアドレスとして設定されます。

またインターフェースエイリアス(-InterfaceAlias)ではなく、以下のようにインターフェースインデックス(-InterfaceIndex)を使って設定対象のネットワークインターフェースを指定することも可能です。

尚、『Set-DnsClientServerAddress』コマンドレットを使って設定を行う際は、管理者権限で起動したPowerShell上でコマンドを実行してください。

参考:Windows アプリケーションを管理者権限で起動・実行する方法

管理者権限で起動していないPowerShell上で『Set-DnsClientServerAddress』コマンドレットを実行した場合、『クライアントが CIM リソースへのアクセスを取得できませんでした。』というエラーが発生し、設定を行うことができません。

複数のDNSサーバー(優先DNSサーバーと代替DNSサーバー)を設定する方法

『Set-DnsClientServerAddress』コマンドレットを使い、複数のDNSサーバー(優先DNSサーバーと代替DNSサーバー※)を設定することも可能です。

たとえば優先DNSサーバーのIPアドレスを『192.168.1.101』、代替DNSサーバー1のIPアドレスを『192.168.1.102』、代替DNSサーバー2のIPアドレスを『192.168.1.103』としたい場合には、以下コマンドを実行してください。

※Windowsの優先DNSサーバーと代替DNSサーバーの動作の仕組みについては、以下を参照ください。
WindowsにDNSサーバーを手動で複数(3つ以上)設定する方法とその仕組み – Windowsに複数のDNSサーバーを設定した場合の動作の仕組みについて

PowerShellを使って、WindowsのDNSサーバーのIPアドレスを自動取得するように設定する方法

PowerShellを使って、DNSサーバーのIPアドレスを自動取得(DHCPサーバーが通知するDNSサーバーのIPアドレスを自動設定)する設定としたい場合にも、『Set-DnsClientServerAddress』コマンドレットを使用します。

このケースでは、『-ServerAddress』の代わりに『-ResetServerAddresses』を使用し、以下のようなコマンドを実行してください。

PowerShellを使って、WindowsのDNSサーバーのIPアドレスの設定状態を調べる方法

最後に、WindowsのDNSサーバーのIPアドレスの設定状態を、PowerShellを使って調べる方法についてもご紹介しておきましょう。

WindowsのDNSサーバーのIPアドレスの設定状態を調べたいときは、以下コマンドを実行してください。

『Get-DnsClientServerAddress』コマンドレットを実行すると、ネットワークインターフェース・AddressFamily(IPv4またはIPv6)ごとのDNSサーバーのIPアドレスを確認でき、『ServerAddresses』に、優先DNSサーバー,代替DNSサーバー1,代替DNSサーバー2 … といった記法で設定状態が表示されます。

『Set-DnsClientServerAddress』コマンドレットを使ってDNSサーバーの設定を変更した際は、『Get-DnsClientServerAddress』コマンドレットを使って、設定後の値が正しいかを確認しておくと良いでしょう。

以上、参考になさってくださーい!

 - Windows, デジタル・家電, ネットワーク

ピックアップ コンテンツ&スポンサーリンク