DNS Command-Line Cheat Sheet

I just finished the first DNS chapter in my Elements book, the first of my three-book series on Server 2008. I always love talking about DNS — it’s a fun topic — but this particular chapter was a joy to write because I mostly threw away the old chapter and wrote an all-new one.  In the process, I got a chance to include a lot of coverage of command-line support, now that Microsoft’s gotten serious about letting us do more and more with the command line. It dawned on me, however, that people wanting to refer to my command-line coverage in the chapter might not want to have to look through 100 pages of text, and so I collected all of the CLI DNS commands that I used throughout the chapter into a sort of “DNS cheat sheet.”

It’ll be months before the book arrives, though, and so I thought I’d post this on my site in the hopes that it’ll be of use to someone.

 

Function

DNSCMD option

Example

Comments

Do any dnscmd command on a
remote system

dnscmd servername command

dnscmd main.bigfirm.com /zoneprint bigfirm.com

Create a primary zone

dnscmd /zoneadd
zonename
/primary

dnscmd /zoneadd
bigfirm.com /primary

Create a secondary zone

dnscmd /zoneadd
zonename
/secondary master IP address

dnscmd /zoneadd
bigfirm.com /secondary 192.168.1.1

Host a zone on a server based on an existing (perhaps
restored) zone file

dnscmd /zoneadd
zonename
/primary /file filename /load

dnscmd /zoneadd
bigfirm.com /primary /file bigfirm.com.dns /load

Delete a zone from a server

dnscmd /zonedelete
zonename
[/f]

dnscmd /zonedelete
bigfirm.com /f

(without the /f, dnscmd asks
you if you really want to delete the zone)

Show all of the zones on a DNS server

dnscmd /enumzones

dnscmd /enumzones

Dump (almost) all of the records in a zone

dnscmd /zoneprint
zonename

dnscmd /zoneprint
bigfirm.com

Doesn’t show glue records.

Add an A record to a zone

dnscmd /recordadd
zonename
hostname A ipaddress

dnscmd /recordadd
bigfirm.com mypc A 192.168.1.33

Add an NS record to a zone

dnscmd /recordadd
zonename
@ NS servername

dnscmd /recordadd
bigfirm.com @  A dns3.bigfirm.com

Delegate a new child domain, naming its first DNS
server

dnscmd /recordadd
zonename
childname
NS dnsservername

dnscmd /recordadd
bigfirm.com test NS main.bigfirm.com

This would create the “test.bigfirm.com” DNS child
domain unter the bigfirm.com DNS domain

Add an MX record to a zone

dnscmd /recordadd
zonename @ MX priority servername

dnscmd /recordadd
bigfirm.com @ MX 10 mail.bigfirm.com

Add a PTR record to a reverse lookup zone

dnscmd /recordadd
zonename
lowIP PTR FQDN

dnscmd /recordadd
1.168.192.in-addr.arpa 3 A pc1.bigfirm.com

This is the PTR record for a system with IP address
192.168.1.3

Modify a zone’s SOA record

dnscmd /recordadd
zonename
@ SOA primaryDNSservername responsibleemailipaddress
serialnumber refreshinterval
retryinterval expireinterval
defaultTTL

dnscmd /recordadd
bigfirm.com @ SOA winserver.bigfirm.com mark.bigfirm.com 41 1800 60 2592000
7200

Ignores the serial number if it’s not greater than the
current serial number

Delete a resource record

dnscmd /recorddelete
zonename
recordinfo
[/f]

dnscmd /recorddelete
bigfirm.com @ NS main.bigfirm.com /f

Again, “/f” means “don’t annoy me with a confirmation
request, just do it.”

Create a resource record and incorporate a nonstandard
TTL

dnscmd /recordadd
zonename
leftmostpartofrecord
TTL restofrecord

dnscmd /recordadd
bigfirm.com pc34 3200 A 192.168.1.4

Reload a zone from its zone file in \windows\system32\dns

dnscmd /zonereload
zonename

dnscmd /zonereload
bigfirm.com

Really only useful on primary DNS servers

Force DNS server to flush DNS data to zone file

dnscmd /zonewriteback
zonename

dnscmd /zonewriteback
bigfirm.com

Tell a primary whom to allow zone transfers to

dnscmd /zoneresetsecondaries
zonename
/nonsecure|securens

dnscmd /zoneresetsecondaries
bigfirm.com /nonsecure

That example says to allow anyone who asks to get a
zone transfer

Enable/disable DNS NOTIFY

dnscmd /zoneresetsecondaries
zonename
/notify|/nonotify

dnscmd /zoneresetsecondaries
bigfirm.com /nonotify

Example disables DNS notification, which is contrary to
the default settings.

Tell a secondary DNS server to request any updates from
the primary

dnscmd /zonerefresh
zonename

dnscmd /zonerefresh
bigfirm.com

Enable or disable dynamic DNS on a zone

dnscmd /config
zonename
/allowupdate 1|0

1 enables, 0 disables, 0 is default

Stop the DNS service

Either net stop dns or sc
stop dns

(No dnscmd command for this)

Start the DNS service

Either net start dns or sc
start dns

(No dnscmd command for this)

Install the DNS service on a 2008 full install system

servermanagercmd -install dns

Install the DNS service on a 2008 Server Core system

ocsetup DNS-Server-Core-Role

Case matters — ocsetup dns-server-core-role would fail

Uninstall the DNS service on a 2008 Server full install
system

servermanagercmd -remove dns

Uninstall the DNS service on a 2008 Server Core system

ocsetup /uninstall
DNS-Server-Core-Role

http://www.minasi.com/newsletters/nws0803a.htm

Leave a comment