type=page
status=published
title=list-secure-admin-internal-users
next=list-secure-admin-principals.html
prev=list-resource-refs.html
~~~~~~

list-secure-admin-internal-users
================================

[[list-secure-admin-internal-users-1]][[GSRFM00199]][[list-secure-admin-internal-users]]

list-secure-admin-internal-users
--------------------------------

Lists the user names that the \{product---name} DAS and instances use to
authenticate with each other and to authorize admin operations.

[[sthref1787]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-secure-admin-internal-users [--help]
[--long={false|true}]
[--output output]
[--header={false|true}]
[name]
----

[[sthref1788]]

=== Description

The `list-secure-admin-internal-users` subcommand lists the user names
that the \{product---name} DAS and instances use to authenticate with
each other and to authorize admin operations.

[[sthref1789]]

=== 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.
`--long`::
`-l`::
  Displays detailed information about each internal user. The default
  value is `false.`
`--output`::
`-o`::
  Displays specific details about each internal user. Use a
  comma-separated list to specify the details you want to display and
  their order. The values are case-insensitive.
  Possible values are as follows:

  `username`;;
    Displays the user name for the internal user.
  `password-alias`;;
    Displays the password alias for the internal user.

`--header`::
`-h`::
  Specifies whether column headings are displayed when the `--long`
  option is used. The default value is `true`. To suppress the headings,
  set the `--header` option to `false`.

[[sthref1790]]

=== Operands

name::
  The user name for the internal user for which you want to display
  details.

[[sthref1791]]

=== Examples

[[GSRFM709]][[sthref1792]]

==== Example 1   Listing the User Name for Secure Admin

This example lists the user names that the \{product---name} DAS and
instances use to authenticate with each other and to authorize admin
operations.

[source]
----
asadmin> list-secure-admin-internal-users

Command list-secure-admin-internal-users executed successfully.
----

[[sthref1793]]

=== Exit Status

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

[[sthref1794]]

=== See Also

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

link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)],
link:enable-secure-admin-internal-user.html#enable-secure-admin-internal-user-1[`enable-secure-admin-internal-user`(1)]


