Set-DhcpServerv4DnsSetting

Configures how the DHCP server service updates the DNS server with the client-related information.

Syntax

Set-DhcpServerv4DnsSetting
   [-ComputerName <String>]
   [-NameProtection <Boolean>]
   [-UpdateDnsRRForOlderClients <Boolean>]
   [-DeleteDnsRROnLeaseExpiry <Boolean>]
   [-DynamicUpdates <String>]
   [[-IPAddress] <IPAddress>]
   [[-ScopeId] <IPAddress>]
   [-PassThru]
   [-PolicyName <String>]
   [-DisableDnsPtrRRUpdate <Boolean>]
   [-DnsSuffix <String>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Set-DhcpServerv4DnsSetting cmdlet configures how the Dynamic Host Configuration Protocol (DHCP) server service updates the DNS server by using the client-related information. This cmdlet modifies the effective DNS update setting and sets the setting on the server or the specified scope, policy or reservation.

Specify at least one parameter related to DNS update settings from the following parameters:

  • DeleteDnsRROnLeaseExpiry
  • DynamicUpdates
  • NameProtection
  • UpdateDnsRRForOlderClients
  • DnsSuffix
  • DisableDnsPtrRRUpdate

If you do not specify any of the ScopeId, IPAddress, or PolicyName parameters together with the parameters for DNS update settings, the specified DNS update settings are set for the server level.

If you specify ScopeId, the DNS settings are set for the scope. If you specify PolicyName, the DNS settings are set for the server level policy. If you specify both ScopeId and PolicyName, the DNS settings are set for the scope level policy.

If you specify IPAddress, the DNS settings are set for the reservation. Do not specify IPAddress with ScopeID or PolicyName.

Examples

Example 1: Set server level configuration settings

PS C:\> Set-DhcpServerv4DnsSetting -ComputerName "dhcpserver.contoso.com" -DynamicUpdates "Always" -DeleteDnsRRonLeaseExpiry $True

This example sets the server level, or server-wide, DNS update configuration settings to always update DNS with leases entries and deletes the client entry from DNS when the lease expires.

Example 2: Set configuration settings for a scope

PS C:\> Set-DhcpServerv4DnsSetting -ComputerName "dhcpserver.contoso.com" -ScopeId 10.10.10.0 -DynamicUpdates "OnClientRequest" -NameProtection $True

This example sets the DNS update configuration settings for scope 10.10.10.0 to update the DNS with leases entries based on client request, indicated in the FQDN option (option ID 81), and enables name protection by creating dynamic host configuration identifier (DHCID) resource records.

Example 3: Set update configuration settings

PS C:\> Set-DhcpServerv4DnsSetting -ComputerName "dhcpserver.contoso.com" -IPAddress 10.10.10.5 -DynamicUpdates "Never"

This example sets the DNS update configuration settings for the reserved IP address 10.10.10.5 to never update the DNS for client lease entries. This cmdlet clears all of the properties other than the property that is specified.

Example 4: Set update configuration settings for a server policy with DisableDnsPtrRRUpdates

PS C:\> Set-DhcpServerv4DnsSetting -ComputerName "dhcpserver.contoso.com" -DisableDnsPtrRRUpdates $True -PolicyName "WorkgroupDevices"

This example sets DNS update configuration settings for the server policy WorkgroupDevices to disable DNS dynamic updates for PTR records. The command specifies the computer, named dhcpserver.contoso.com, that runs the DHCP server service.

Example 5: Set update configuration settings for a server policy

PS C:\> Set-DhcpServerv4DnsSetting -ComputerName "dhcpserver.contoso.com" -DnsSuffix "guestdomain.com" -PolicyName "ForeignDevices"

This example sets DNS update configuration settings for the server policy ForeignDevices to enable DNS registration of clients under the DNS suffix guestdomain.com. The command specifies the computer, named dhcpserver.contoso.com, that runs the DHCP server service.

Parameters

-AsJob

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete. The cmdlet immediately returns an object that represents the job and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the *-Job cmdlets. To get the job results, use the Receive-Job cmdlet. For more information about Windows PowerShell® background jobs, see about_Jobs.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimSession

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Type:CimSession[]
Aliases:Session
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Specifies the DNS name, or IPv4 or IPv6 address, of the target computer that runs the DHCP server service.

Type:String
Aliases:Cn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DeleteDnsRROnLeaseExpiry

Specifies that the DHCP server service should delete the DNS resource records for the client after the lease expires. This parameter can only be set if the DynamicUpdate parameter is set to Always or OnClientRequest.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DisableDnsPtrRRUpdate

Indicates whether the DHCP server performs the dynamic DNS registration of only A records. If this value is $True, the DHCP server performs registration for only A records. If this value is $False, the server performs registration of both A and PTR records.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DnsSuffix

Specifies a guest DNS suffix for registering DHCP clients with the DNS server. The string must contain at least one character and cannot exceed 256 characters. Do not specify this parameter unless you specify the PolicyName parameter.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DynamicUpdates

Specifies the conditions under which to perform dynamic updates on the DNS server. The acceptable values for this parameter are:

  • Always. The DHCP server service always performs dynamic DNS registration of A and PTR records for the clients.
  • Never. The DHCP server service does not perform any dynamic DNS registration
  • OnClientRequest. The DHCP server service performs dynamic DNS registration of A and PTR records if the client has requested the same in the DHCP client message.
Type:String
Accepted values:Always, Never, OnClientRequest
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IPAddress

Specifies the IPv4 address of the reservation for which the specified DNS update settings are being set.

Type:IPAddress
Aliases:ReservedIP
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-NameProtection

Specifies the enabled state for the DNS name protection on the DHCP server service. If this parameter is set to True, DNS name protection is enabled. If this parameter is set to True and there is an existing DNS record matching the name, the DNS update for the client fails instead of being overwritten.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PolicyName

Specifies the name of a policy.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScopeId

Specifies the scope identifier, in IPv4 address format, for which the DNS update settings are set.

Type:IPAddress
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ThrottleLimit

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UpdateDnsRRForOlderClients

Specifies the enabled state for the DNS registration of A and PTR records for older clients which do not request DNS updates.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

CimInstance

The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.

CimInstance

The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.

CimInstance

The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.

Outputs

CimInstance

The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.