We’re switching IP spaces at work and need to create a large amount of reverse lookup PTR records for our PAT/NAT pools.
Microsoft only allows you to manually create one DNS entry at a time via the GUI so I wrote a simple Powershell script that lets you mass create sequential PTR records.
#################################### # Windows DNS Server Reverse Lookup Populator # Created by: Eric Schewe # Created on: 2014-09-18 #################################### # Summary: # Windows DNS doesn't allow for the mass creation of reverse lookup PTR records. # This script allows for creating large chunks of reverse lookups based on a # incrementing number and pattern. # # In our case we create reverse lookups that follow a certain pattern where # ###### is an incrementing number. # # Example: public#######.site01.mydomain.com # |----||-----||------------------| # | | | # | | --Defined by $postName # | --Defined by $incrementingName # -- Defined by $preName # #################################### # Instructions: # 1. Set $zoneName to the name of the reverse lookup zone you want the DNS # created in. Example: "0.0.127.in-addr.arpa" # 2. Set $startingIP to the first IP you want to create a DNS entry for. # Example: "0" # 3. Set $endingIP to the last IP you want to create a DNS entry for. # Example: "126" # 4. Set $incrementingName to an appropriate starting value if want to use # an incrementing number in your naming scheme. If not you can leave this # value blank and only $preName and $postName will be used when creating # DNS entries # 5. Set $preName to what ever you'd like the start of the DNS entry to be. # This can be left blank. # 6. Set $postName to what ever you'd like the start of the DNS entry to be. # This can be left blank. # #################################### $zoneName="0.0.127.in-addr.arpa" $startingIP=0 $endingIP=126 $incrementingName=0 $preName="public" $postName=".site01.mydomain.com" while ($startingIP -le $endingIP) { $significanDigit="{0:D4}" -f $incrementingName Add-DnsServerResourceRecordPtr -Name "$startingIP" -ZoneName "$zoneName" -PtrDomainName "$preName$significanDigit$postName" $startingIP++ $incrementingName++ }
This came in very handy for me, thanks for sharing! I just had to finagle the $significantDigit creation to match my needs.
Welcome! Glad it helped someone.