適材適所

WindowsやPowerShellやネットワーク、IBMなどのシステム系の話やポイ活など気になったことも載せているブログです。

【PowerShell】IPアドレスの設定をDHCPから固定IPにするときはDNSの登録も忘れずに

これまでDHCPで運用していた複数のWindows10のPCを固定IPアドレスにする時に、一括で設定を変更するためのスクリプトをしこしこ書いておりました。

その際、しょーもないところでハマってしまったので備忘録がてら記事に残しておこうと思います。

DHCPから固定IPアドレスへ変更する

みなさんが使っているPCやスマートフォンのIPアドレスは、いくつですか?

いきなり聞かれても、普段そんなこと意識しませんよね。

それくらい、IPアドレスはネットワークの中に溶け込んでいます。

でもシステム担当だと、否が応でも意識せずにはいられません。

特に組織で通信機器を管理する場合は、IPアドレスの振り方がとても重要になります。

IPアドレスの振り方を間違えると、とっても非効率なことがあったりします。

私の場合もそうでした。

在宅勤務などの影響で、DHCPからIPアドレスをリースするよう設定していたPCへ頻繁にリモートアクセスするようになり、IPアドレスがちょこちょこ変わることにイライラしておりました。

仕方がないので、ホスト名をわかりやすいものに設定し、ダイナミックDNSを使ってホスト名でアクセスするようにしておりました。

しかし、それでもping確認などを連続して行う際にIPアドレスの方が何かと便利だということで、意を決して、固定IPへ変更することとしました。 (そんな大げさなことでもないですが)

PowerShellでIPアドレスを変更する

対象の機器が複数台あったので、スクリプトを書いてPowerShellで一括で変更することとしました。

私が所属する組織のネットワークポリシーではまだIPv4のため、下記のようなコマンドでIPアドレスを変更しました。

Get-NetAdapter -name Wi-Fi|New-NetIPAddress -AddressFamily IPv4 -IPAddress 192.168.1.10 -PrefixLength 24 -DefaultGateway 192.168.1.1

(もちろんIPアドレスは適当ですよ!!)

よし、これでIPアドレスが設定できた!!

IPアドレスで接続できるようになりました。

めでたしめでたし!!

・・・とはいきませんでした。

このコマンド実行後、ホスト名でアクセスしようとしたところ、ホスト名でアクセスできなくなりました。

なんでだ~~?

ホスト名でアクセスできないということは、DNSの問題・・・DNS?

DNSの登録が漏れていた

そういえば、固定IPに変更したら、DNSの指定も自分でやらなきゃだめじゃない?

って、冷静に考えれば当たり前のことなんですが、これに気がつくまで30分くらいかかりました。

そうなんです、DNSの設定がもれていたんですね。

DHCPだと、DNSサーバーも教えてくれるので設定する必要がないんですが、固定IPだと自分で設定する必要があります。

今回コマンドでやっていたんですっかり抜け落ちておりました。

GUIでやれば忘れることはないんですが・・・

f:id:shinmai_papa:20210127174908p:plain

こんなんですからね。まず忘れないかと思います。
(Windows10の設定メニューです)。

コマンドでやったのですっかり忘れるという・・・。

一応、DNSの登録コマンドも載せておきます。

Get-NetAdapter | Set-DnsClientServerAddress -ServerAddresses 192.168.1.5, 192.168.1.6

最後に

本当にうっかりミスですね。

基本が大事ということを痛切に感じている今日この頃。

皆さんもコマンドからIPアドレスを設定するときは、ゆめゆめご注意を!!

ここまでお読みいただき、ありがとうございました。