Test-DnsServer

Tests that a specified computer is a functioning DNS server.

Syntax

Test-DnsServer
    [-IPAddress] <IPAddress[]>
    [-ComputerName <String>]
    [[-Context] <String>]
    [-CimSession <CimSession[]>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [<CommonParameters>]
Test-DnsServer
    [-IPAddress] <IPAddress[]>
    [-ComputerName <String>]
    -ZoneName <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.

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. 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.

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

-Context

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

Type:String
Accepted values:DnsServer, Forwarder, RootHints
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPAddress

Specifies an array of DNS server IP addresses.

Type:IPAddress[]
Position:1
Default value:None
Required:True
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

-ZoneName

Specifies the name of the zone that the server hosts.

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

Outputs

CimInstance[]