Set-DnsServerResourceRecord
Changes a resource record in a DNS zone.
Syntax
Set-DnsServerResourceRecord
[-NewInputObject] <CimInstance>
[-OldInputObject] <CimInstance>
[-ComputerName <String>]
[-ZoneName] <String>
[-PassThru]
[-ZoneScope <String>]
[-VirtualizationInstance <String>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The Set-DnsServerResourceRecord cmdlet changes a resource record object located in a Domain Name System (DNS) zone. You can use the OldInputObject parameter to specify a resource record object that you want to change and NewInputObject to specify a new resource record. This cmdlet cannot change the Name or Type of a DNS server resource record object.
Examples
Example 1: Change the timespan of a resource record
PS C:\> $OldObj = Get-DnsServerResourceRecord -Name "Host01" -ZoneName "contoso.com" -RRType "A"
PS C:\> $NewObj = [ciminstance]::new($OldObj)
PS C:\> $NewObj.TimeToLive = [System.TimeSpan]::FromHours(2)
PS C:\> Set-DnsServerResourceRecord -NewInputObject $NewObj -OldInputObject $OldObj -ZoneName "contoso.com" -PassThru
HostName RecordType Timestamp TimeToLive RecordData
-------- ---------- --------- ---------- ----------
Host01 A 0 02:00:00 2.2.2.2
In this example, the time to live (TTL) value of the resource record named Host01 in the zone named contoso.com is changed to 2 hours.
The first command assigns a resource record named Host01 in the zone named contoso.com to the variable $OldObj.
The second command copies the variable $OldObj to a new variable $NewObj using the [ciminstance]::new() constructor.
The third command sets the TTL time span for $NewObj to 2 hours.
The fourth command changes the properties of $OldObj to the settings specified for $NewObj in the previous command.
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 a DNS server. If you do not specify this parameter, the command runs on the local system. You can specify an IP address or any value that resolves to an IP address, such as a fully qualified domain name (FQDN), host name, or NETBIOS name.
Type: | String |
Aliases: | Cn, ForwardLookupPrimaryServer |
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 |
-NewInputObject
Specifies a DNS server resource record object to overwrite the OldInputObject parameter value.
Type: | CimInstance |
Position: | 3 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OldInputObject
Specifies a DNS server resource record object.
Type: | CimInstance |
Position: | 2 |
Default value: | None |
Required: | True |
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 |
-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 |
-VirtualizationInstance
Specifies the virtualization instance in which the zone will be added. A virtualization instance is logical partition in a DNS Server, which is capable of independently hosting zones and zone scopes. Same name zones and zone scopes can be hosted in different virtualization instances. This parameter is optional and if not provided it will add the zone into the default virtualization instance which is functionally equivalent to a standard DNS server.
Type: | String |
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 |
-ZoneName
Specifies the name of a DNS zone.
Type: | String |
Aliases: | ForwardLookupZone |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ZoneScope
Specifies the name of a zone scope.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Inputs
Outputs
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.