Edit

Share via


Add-DnsServerTrustAnchor

Adds a trust anchor to a DNS server.

Syntax

DnsKey (Default)

Add-DnsServerTrustAnchor
    [-Name] <String>
    [-CryptoAlgorithm] <String>
    -Base64Data <String>
    [-KeyProtocol <String>]
    [-ComputerName <String>]
    [-PassThru]
    [-CimSession <CimSession[]>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

DS

Add-DnsServerTrustAnchor
    [-Name] <String>
    [-CryptoAlgorithm] <String>
    -KeyTag <UInt16>
    -DigestType <String>
    -Digest <String>
    [-ComputerName <String>]
    [-PassThru]
    [-CimSession <CimSession[]>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Root

Add-DnsServerTrustAnchor
    [-ComputerName <String>]
    [-PassThru]
    [-Root]
    [-CimSession <CimSession[]>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

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:

  • RsaSha1
  • RsaSha256
  • RsaSha512
  • RsaSha1NSec3
  • ECDsaP256Sha256
  • ECDsaP384Sha384

Parameter properties

Type:String
Default value:None
Accepted values:RsaSha1, RsaSha256, RsaSha512, RsaSha1NSec3, ECDsaP256Sha256, ECDsaP384Sha384
Supports wildcards:False
DontShow:False

Parameter sets

DnsKey
Position:2
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False
DS
Position:2
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-Digest

Specifies the DS digest data.

Parameter properties

Type:String
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

-DigestType

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.

Outputs

CimInstance

The DnsServerTrustAnchor object contains the following fields:

  • EnteredStateTime
  • KeyTag
  • NextStateTime
  • TrustAnchorData
  • TrustAnchorName
  • TrustAnchorState
  • TrustAnchorType