1.環境
OS:windows Server2016
DNS:OS標準のDNS機能
2.事前準備
以下のコマンドでpowershellが実行可能にしておきます。
Set-ExecutionPolicy RemoteSigned
あと、powershellの実行はDNSサーバで行うこととします。自分のPCからリモートで実行したい場合は、
リモートサーバー管理ツール(RSAT)を導入する必要があります。それは別の記事で記載します。
3.DNSレコードの登録
以下のAレコードおよびPTRレコードを登録することとします。
<登録するレコード>
ホスト名:hostname1
IP:192.168.0.1
ドメイン:test.co.jp
powershellのコマンドはこんな感じなります。-CreatePtrをつけておくと、逆引きも作ってくれます。
※当然逆引きのゾーンファイルは作成済みであることが前提。
Add-DNSServerResourceRecordA -ZoneName test.co.jp -Name hostname1 -IPv4Address 192.168.0.1 -CreatePtr
今回利用したAdd-DNSServerResourceRecordAのReferenceページはここ!
Add-DnsServerResourceRecordA
4.DNSレコードの削除
先ほど登録したAレコード及びPTRレコードを削除することとします。
powershellのコマンドはこんな感じなります。
Remove-DnsServerResourceRecord -ZoneName test.co.jp -RRType A -Name hostname1 -Force
-RecordDataをつけておくと、逆引きを同時に削除します。
Remove-DnsServerResourceRecord -ZoneName test.co.jp -RRType A -Name hostname1 -RecordData 192.168.0.1 -Force
-ForceをつけないとY/Nが聞かれます
Remove-DnsServerResourceRecord -ZoneName test.co.jp -RRType A -Name hostname1
確認
GC001PPAD001 サーバー上のゾーン test.co.jp から、タイプ A の、hostname1 という名前で設定されている DNS リソースレコードが削除されます。続行しますか?
[Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): n
今回利用したRemove-DnsServerResourceRecordのReferenceページはここ!
Remove-DnsServerResourceRecord
5.PJごとに使いまわせるようにExcelでテンプレを作ってます
excelでこんな感じのテンプレートを作っておきます。
グレーアウトした列は固定値、白抜きは可変値とし、Scriptの列(I列)をコピーしてpowershellで実行することで一括でレコードを登録できるようにしています。
※I列はこんな感じの数式を入れています。"=B3&" "&C3&" "&D3&" "&E3&" "&F3&" "&G3&" "&H3"
めちゃめちゃクラシカルな感じですが、担当にやってもらう分にはこんな感じのほうが引き渡しやすいという結論に至ってます。