Powershellを利用してDNSをインストールしてみました。
また、DNSインストール後にAレコードの追加もpowershellで実施してみました。
今回はWindows2019を利用しています。
DNSのインストール方法
windowsサーバ上でpowershellを起動し、以下のコマンドを実行します。
Install-WindowsFeature -Name DNS -IncludeManagementTools
コマンド実行結果
以下のような出力となれば正常にインストールされています。
PS C:\> Install-WindowsFeature -Name DNS -IncludeManagementTools
WARNING: The following recommended condition is not met for DNS: No static IP addresses were found on this computer. If
the IP address changes, clients might not be able to contact this server. Please configure a static IP address on this
computer before installing DNS Server.
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {DNS Server, Remote Server Administration ...
PS C:\>
インストール後の確認コマンド
DNSサーバのインストール後に本当にインストールされたのかを、以下のコマンドなどで確認していきます。
機能と役割の一覧を確認([dns]が付くものをソートして表示)
windowsの機能を出力する「Get-WindowsFeature」を利用し、名前でソートをかけて[dns]から始まる機能だけを出力させます。
Get-WindowsFeature -Name dns*
インストールされた機能には[×]という表示が付きますので、DNS Serverの項目が[×]であればインストールできていることになります。
[参考]インストールされたかを確認(機能一覧を表示)
上記では「Get-WindowsFeature」のオプションに[-name]をつけることで機能の名前でソートをかけてDNSサーバの結果のみを出力しましたが、[-computerName]を指定することでこのサーバにインストールされている機能を一覧で出力し確認することができます。
$hostname = hostname
Get-WindowsFeature -computerName $hostname
先ほどとは異なり、windowsサーバの機能一覧を見ることができ、どれがインストールされているかについても[×]を見ることで確認することができます。
ここでもDNSサーバは[×]が付いているのでインストールされていることが確認できます。
DNSマネージャが起動できるかを確認
今回DNSサーバインストール時にオプションで[-IncludeManagementTools]を指定していたので、DNSマネージャが起動できるかを確認します。
Start-Process dnsmgmt.msc
尚、DNSサーバインストール時にオプションで[-IncludeManagementTools]を指定しない場合には、管理ツールが立ち上がらないため、オプションで付けてインストールすることをお勧めします。
DNSにAレコードを追加する方法
上記でインストールしたDNSを利用して、Aレコードの登録もpowershellで実施してみました。
Aレコードの作成に当たって、ゾーンの作成が必要なのでゾーンの作成から実行していきます。
ゾーンの作成
「Add-DnsServerPrimaryZone」を利用して作成します。
作成後には「Get-DnsServerZone」を利用して作成されたことを確認します。
#Zone作成
Add-DnsServerPrimaryZone `
-Name "hogehoge.com" `
-ZoneFile "hogehoge.com.dns" `
-DynamicUpdate None `
-PassThru
#Zone確認
Get-DnsServerZone
ゾーン作成結果
「Add-DnsServerPrimaryZone」コマンド実行後にも作成されたゾーンが出力されます。
「Get-DnsServerZone」でも作成されたことが確認できます。
Aレコードの作成
「Add-DnsServerResourceRecordA」を利用して作成します。
作成後には「Get-DnsServerResourceRecord」を利用して作成されたことを確認します。
#Aレコード作成
Add-DnsServerResourceRecordA `
-Name "hoge" `
-ZoneName "hogehoge.com" `
-IPv4Address "192.168.0.1" `
-PassThru
#Aレコード確認
Get-DnsServerResourceRecord `
-ZoneName "hogehoge.com"
Aレコード作成結果
「Add-DnsServerResourceRecordA」コマンド実行後にも作成されたAレコードが出力されます。
「Get-DnsServerResourceRecord」でも作成されたことが確認できます。