Recipe13.3.Modifying DNS Server Configuration


Recipe 13.3. Modifying DNS Server Configuration

Problem

You want to modify DNS Server settings. This will be one of the first things you need to do after installing DNS Server.

Solution

Using a graphical user interface

  1. From the Administrative Tools, open the DNS snap-in (dnsmgmt.msc).

  2. Connect to the DNS Server you want to modify. In the left pane, right-click on DNS and select Connect to DNS Server. Select The following computer and enter the target server name. Click OK.

  3. Right-click on the server and select Properties.

  4. Choose from the various tabs to edit settings.

  5. Click OK after you've completed the modifications to commit the changes.

Using a command-line interface

With the following command, replace <Setting> with the name of the setting to modify and <Value> with the value to set:

> dnscmd <ServerName> /config  /<Setting> <Value>

The following command enables the EnableDnsSec setting on dns01:

> dnscmd dns01 /config /EnableDnsSec 1

The following command disables the NoTcp setting on the local host:

> dnscmd /config /NoTcp 0

The following command sets the DsPollingInterval setting to 60 on dns02:

> dnscmd dns02 /config /DsPollingInterval 60

For the complete list of settings, run dnscmd /config from the command line.

Using VBScript
' This code shows how to set a  DNS Server property. strServer = "<ServerName>" set objDNS = GetObject("winMgmts:\\" & strServer & "\root\MicrosoftDNS") set objDNSServer = objDNS.Get("MicrosoftDNS_Server.Name="".""") objDNSServer.<Setting> = <Value>  ' e.g., objDNSServer.AllowUpdate = TRUE objDNSServer.Put_     ' This code displays all the settings on a DNS Server. ' ------ SCRIPT CONFIGURATION ------ strServer  = "<ServerName>"  ' e.g., dns1.rallencorp.com ' ------ END CONFIGURATION ---------     ' Instantiate a WMI object for the target server set objDNS = GetObject("winmgmts:\\" & strServer & "\root\MicrosoftDNS") ' Get an instance of the MicrosoftDNS_Server  class set objDNSServer = objDNS.Get("MicrosoftDNS_Server.Name="".""")     ' Iterate over each property using Properties_ Wscript.Echo objDNSServer.Properties_.Item("Name") & ":" for each objProp in objDNSServer.Properties_    if IsNull(objProp.Value) then       Wscript.Echo " " & objProp.Name & " : NULL"    else       if objProp.IsArray = TRUE then          for I = LBound(objProp.Value) to UBound(objProp.Value)              wscript.echo " " & objProp.Name & " : " & objProp.Value(I)          next       else          Wscript.echo " " & objProp.Name & " : " & objProp.Value       end if    end if  next

Discussion

Using a graphical user interface

DNS Server supports a variety of settings to configure everything from scavenging and forwarders to logging. With the DNS snap-in, the settings are spread over several tabs in the Properties property page.

Using a command-line interface

You can get a list of available settings, many of which can't be configured from the DNS snap-in, by running dnscmd /config from a command line. For the CLI and VBScript solutions, the setting names are nearly identical. Be careful when using the dnscmd /config command because very little error checking is done on the values you specify.

Each setting is stored in the registry on the DNS Server under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters key. The dnscmd /config command simply writes the value you specify to a registry value and does not verify if the input is valid. See the following web site for more information on what values are expected for each setting: http://msdn.microsoft.com/library/en-us/dns/dns/microsoftdns_server.asp.

Using VBScript

Be sure to call the Put_ method after you finish configuring settings in order for the changes to be committed to the server.

See Also

MSDN: MicrosoftDNS_Server



Windows Server Cookbook
Windows Server Cookbook for Windows Server 2003 and Windows 2000
ISBN: 0596006330
EAN: 2147483647
Year: 2006
Pages: 380
Authors: Robbie Allen

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net