Edit

Share via


Test-DnsServer

Tests that a specified computer is a functioning DNS server.

Syntax

Context (Default)

Test-DnsServer
    [-IPAddress] <IPAddress[]>
    [[-Context] <String>]
    [-ComputerName <String>]
    [-CimSession <CimSession[]>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [<CommonParameters>]

ZoneMaster

Test-DnsServer
    [-IPAddress] <IPAddress[]>
    -ZoneName <String>
    [-ComputerName <String>]
    [-CimSession <CimSession[]>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [<CommonParameters>]

Description

The Test-DnsServer cmdlet tests whether a computer is a functioning Domain Name System (DNS) server. The DNS server must be running Windows Server® 2008 R2 operating system or above.

When you specify a computer by its IP address only, the cmdlet tests whether the computer is a DNS server. If you also specify a zone name, the cmdlet validates that the DNS server can resolve the specified zone.

Examples

Example 1: Test whether a DNS server is functional

PS C:\> Test-DnsServer -IPAddress 10.123.183.155

IPAddress               Result                  RoundTripTime           TcpTried                UdpTried
---------               --------                 ------------           --------                --------
10.123.183.155           Success                 00:00:11                False                  True

This command tests whether the computer that has an IP address of 10.123.183.155 is a functional DNS server.

Example 2: Test whether a DNS server is functional and has valid configured forwarders

PS C:\> Test-DnsServer -IPAddress 10.123.183.155 -Context Forwarder

IPAddress               Result                  RoundTripTime           TcpTried                UdpTried
---------               --------                 ------------           --------                --------
10.123.183.155           Success                 00:00:11                False                    True

This command tests whether the computer that has an IP address of 10.123.183.155 is a functional DNS server that has valid configured forwarders.

Example 3: Test whether a DNS server is functional and has valid configured root hints

PS C:\> Test-DnsServer -IPAddress 10.123.183.155 -Context RootHints

IPAddress               Result                  RoundTripTime           TcpTried                UdpTried
---------               --------                 ------------           --------                --------
10.123.183.155           NoResponse              00:00:12                False                   True

This command tests whether the computer that has an IP address of 10.123.183.155 is a functional DNS server that has valid configured root hints.

Example 4: Test whether a DNS server is functional and hosts the Contoso.com zone

PS C:\> Test-DnsServer -IPAddress 10.123.183.155 -ZoneName "Contoso.com"

IPAddress               Result                  RoundTripTime           TcpTried                UdpTried
---------               --------                 ------------           --------                --------
10.123.183.155           Success                 00:00:00                False                   True

This command tests whether the computer that has an IP address of 10.123.183.155 is a functional DNS server that hosts the Contoso.com zone.

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

-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 DNS server. The acceptable values for this parameter are: an IPv4 address; an IPv6 address; any other 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

-Context

Specifies functionalities to test. Valid values are: DnsServer, Forwarder , and RootHints.

Parameter properties

Type:String
Default value:None
Accepted values:DnsServer, Forwarder, RootHints
Supports wildcards:False
DontShow:False

Parameter sets

Context
Position:2
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-IPAddress

Specifies an array of DNS server IP addresses.

Parameter properties

Type:

IPAddress[]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:1
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:True
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

-ZoneName

Specifies the name of the zone that the server hosts.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

ZoneMaster
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:True
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