type=page
status=published
title=ping-node-dcom
next=ping-node-ssh.html
prev=ping-connection-pool.html
~~~~~~

= ping-node-dcom

[[ping-node-dcom-1]][[GSRFM728]][[ping-node-dcom]]

== ping-node-dcom

Tests if a node that is enabled for communication over DCOM is usable

[[sthref1934]]

=== Synopsis

[source]
----
asadmin [asadmin-options] ping-node-dcom [--help]
[--validate={false|true}] node-name
----

[[sthref1935]]

=== Description

The `ping-node-dcom` subcommand tests if a node that is enabled for
communication over the Distributed Component Object Model (DCOM) remote
protocol is usable. The DCOM protocol is available only on Windows
systems. This subcommand requires DCOM to be configured on the machine
where the domain administration server (DAS) is running and on the
machine where the node resides. You may run this command from any
machine that can contact the DAS.

If the node is usable, the subcommand displays a confirmation that the
subcommand could connect to the node through DCOM. This confirmation
includes the name of the host that the node represents.

Optionally, the subcommand can also validate the node to determine if
the link:asadmin.html#asadmin-1m[`asadmin`(1M)] utility can run on the
host that the node represents. To validate a node, the subcommand runs
the link:version.html#version-1[`version`(1)] subcommand. If the node is
valid, the subcommand displays the version that the `version` subcommand
returns.

The node that is specified as the operand of this subcommand must be
enabled for communication over DCOM. If the node is not enabled for
communication over DCOM, an error occurs. To determine whether a node is
enabled for communication over DCOM, use the
link:list-nodes.html#list-nodes-1[`list-nodes`(1)] subcommand.


[NOTE]
====
To test whether a node that is enabled for communication over secure
shell (SSH) is usable, use the
link:ping-node-ssh.html#ping-node-ssh-1[`ping-node-ssh`(1)] subcommand.
====


This subcommand is supported in remote mode only.

[[sthref1936]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--validate`::
  Specifies whether the subcommand validates the node.
  Possible values are as follows:

  `true`;;
    The node is validated.
  `false`;;
    The node is not validated (default).

[[sthref1937]]

=== Operands

node-name::
  The name of the node to test. The node must be enabled for
  communication over DCOM. Otherwise, an error occurs.

[[sthref1938]]

=== Examples

[[GSRFM729]][[sthref1939]]

==== Example 1   Testing if a DCOM-Enabled Node Is Usable

This example tests if the DCOM-enabled node `wpmd2` is usable.

[source]
----
asadmin> ping-node-dcom wpmdl2
Successfully made DCOM connection to node wpmdl2 (wpmdl2.example.com)
Command ping-node-dcom executed successfully.
----

[[GSRFM730]][[sthref1940]]

==== Example 2   Validating a DCOM-Enabled Node

This example validates the DCOM-enabled node `adc-node`.

[source]
----
asadmin> ping-node-dcom --validate=true adc-node
Successfully made DCOM connection to node adc-node (adc-node.example.com)
GlassFish version found at C:\glassfish7:
Using locally retrieved version string from version class.
Version = Eclipse GlassFish 7.0.0 (build 18)
Command version executed successfully.
Command ping-node-dcom executed successfully.
----

[[sthref1941]]

=== Exit Status

0::
  command executed successfully
1::
  error in executing the command

[[sthref1942]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
link:delete-node-dcom.html#delete-node-dcom-1[`delete-node-dcom`(1)],
link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
link:ping-node-ssh.html#ping-node-ssh-1[`ping-node-ssh`(1)],
link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
link:validate-dcom.html#validate-dcom-1[`validate-dcom`(1)],
link:version.html#version-1[`version`(1)]


