The Add-DnsServerTrustAnchor cmdlet adds a trust anchor (DNSKEY record or DS record) to a Domain Name System (DNS) server.
If no trust anchor is present, the cmdlet creates one.
If you specify the DigestType parameter, the cmdlet adds a trust anchor delegation signer (DS) record.
If you specify the Root parameter the cmdlet retrieves the trust anchors from the URL specified in RootTrustAnchorsURL property of the DNS server.
Examples
Example 1: Add a trust anchor to a DNS server
PS C:\> Get-DnsServerResourceRecord -ZoneName "sec.contoso.com" -RRType "dnskey" -ComputerName DNS1 | %{ $_.RecordData | Add-DnsServerTrustAnchor -PassThru -Verbose -Name "sec.contoso.com"}
VERBOSE: Adding trust anchor for trust point sec.contoso.com of type DNSKEY on server Server01.
TrustAnchorName TrustAnchorType TrustAnchorState TrustAnchorData
--------------- --------------- ---------------- ---------------
sec.contoso.com DNSKEY Valid [23600][DnsSec][RsaSha256][AwEAAbZvBTiMzoqK...
VERBOSE: Adding trust anchor for trust point sec.contoso.com of type DNSKEY on server Server01.
sec.contoso.com DNSKEY Valid [53180][DnsSec][RsaSha256][AwEAAbsS7NnziyRY...
VERBOSE: Adding trust anchor for trust point sec.contoso.com of type DNSKEY on server Server01.
sec.contoso.com DNSKEY Valid [50272][DnsSec][RsaSha256][AwEAAe1EkxNj6M1b...
VERBOSE: Adding trust anchor for trust point sec.contoso.com of type DNSKEY on server Server01.
sec.contoso.com DNSKEY Valid [37436][DnsSec][RsaSha256][AwEAAa1PJyk2lITB...
VERBOSE: Adding trust anchor for trust point sec.contoso.com of type DNSKEY on server Server01.
sec.contoso.com DNSKEY Valid [2895][DnsSec][RsaSha1NSec3][AwEAAbOk5nl41M...
VERBOSE: Adding trust anchor for trust point sec.contoso.com of type DNSKEY on server Server01.
sec.contoso.com DNSKEY Valid [62250][DnsSec][RsaSha1NSec3][AwEAAci9Ayfjg...
VERBOSE: Adding trust anchor for trust point sec.contoso.com of type DNSKEY on server Server01.
sec.contoso.com DNSKEY Valid [47244][DnsSec][RsaSha1NSec3][AwEAAcFv94ne6...
This command uses the Get-DnsServerResourceRecord cmdlet to obtain a DnsKey resource record from the DNS server DNS1 for the zone named sec.contoso.com.
The command then uses the pipeline operator to send it to the Add-DnsServerTrustAnchor cmdlet to add a trust anchor to the current DNS server for this zone.
Example 2: Add a trust anchor from the RootTrustAnchorsURL property
PS C:\> Add-DnsServerTrustAnchor -Root
This command adds the trust anchors from the URL specified by the RootTrustAnchorsURL property of the DNS server.
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.
Parameter properties
Type:
SwitchParameter
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-Base64Data
Specifies key data.
Parameter properties
Type:
String
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
DnsKey
Position:
Named
Mandatory:
True
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
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.
Parameter properties
Type:
CimSession[]
Default value:
None
Supports wildcards:
False
DontShow:
False
Aliases:
Session
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-ComputerName
Specifies a remote DNS server.
The acceptable values for this parameter are: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.
Parameter properties
Type:
String
Default value:
None
Supports wildcards:
False
DontShow:
False
Aliases:
Cn
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-Confirm
Prompts you for confirmation before running the cmdlet.
Parameter properties
Type:
SwitchParameter
Default value:
False
Supports wildcards:
False
DontShow:
False
Aliases:
cf
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-CryptoAlgorithm
Specifies the cryptographic algorithm that the cmdlet uses for key generation.
The acceptable values for this parameter are:
Specifies the type of algorithm that the zone signing key uses to create the DS record.
Valid values are one or more of the following:
Sha1
Sha256
Sha384
Parameter properties
Type:
String
Default value:
None
Accepted values:
Sha1, Sha256, Sha384
Supports wildcards:
False
DontShow:
False
Parameter sets
DS
Position:
Named
Mandatory:
True
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-KeyProtocol
Specifies the key protocol.
The default is Dnssec.
Parameter properties
Type:
String
Default value:
None
Accepted values:
DnsSec
Supports wildcards:
False
DontShow:
False
Parameter sets
DnsKey
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-KeyTag
Specifies the unique key tag that the DNS server uses to identify a key.
Parameter properties
Type:
UInt16
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
DS
Position:
Named
Mandatory:
True
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-Name
Specifies the name of a trust anchor on a DNS server.
Parameter properties
Type:
String
Default value:
None
Supports wildcards:
False
DontShow:
False
Aliases:
TrustAnchorName
Parameter sets
DnsKey
Position:
1
Mandatory:
True
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
DS
Position:
1
Mandatory:
True
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-PassThru
Returns an object representing the item with which you are working.
By default, this cmdlet does not generate any output.
Parameter properties
Type:
SwitchParameter
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-Root
Indicates that the cmdlet adds the trust anchor of the root zone from the URL specified by the RootTrustAnchorsURL property of the DNS server.
Parameter properties
Type:
SwitchParameter
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
Root
Position:
Named
Mandatory:
True
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
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.
Parameter properties
Type:
Int32
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-WhatIf
Shows what would happen if the cmdlet runs.
The cmdlet is not run.
Parameter properties
Type:
SwitchParameter
Default value:
False
Supports wildcards:
False
DontShow:
False
Aliases:
wi
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable,
-ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see
about_CommonParameters.