type=page
status=published
title=list-audit-modules
next=list-auth-realms.html
prev=list-applications.html
~~~~~~
list-audit-modules
==================

[[list-audit-modules-1]][[GSRFM00149]][[list-audit-modules]]

list-audit-modules
------------------

gets all audit modules and displays them

[[sthref1316]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] list-audit-modules [--help] 
[target]
----

[[sthref1317]]

Description

The `list-audit-modules` subcommand lists all the audit modules. This
subcommand is supported in remote mode only.

[[sthref1318]]

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.

[[sthref1319]]

Operands

target::
  Specifies the target on which you are listing the audit modules. Valid
  values are as follows: +
  `server`;;
    Lists the audit modules for the default server instance `server` and
    is the default value.
  configuration_name;;
    Lists the audit modules for the named configuration.
  cluster_name;;
    Lists the audit modules for every server instance in the cluster.
  instance_name;;
    Lists the audit modules for a particular server instance.

[[sthref1320]]

Examples

[[GSRFM637]][[sthref1321]]

Example 1   Listing Audit Modules

[source,oac_no_warn]
----
asadmin> list-audit-modules
sampleAuditModule1
sampleAuditModule2
Command list-audit-modules executed successfully
----

[[sthref1322]]

Exit Status

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

[[sthref1323]]

See Also

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

link:create-audit-module.html#create-audit-module-1[`create-audit-module`(1)],
link:delete-audit-module.html#delete-audit-module-1[`delete-audit-module`(1)]


