> For the complete documentation index, see [llms.txt](https://athome-1.gitbook.io/athome-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://athome-1.gitbook.io/athome-docs/glpi-command-line-interface-cli/available-commands.md).

# Available commands

GLPI includes a CLI tool to help you manage your GLPI instance. This interface is provided by the `bin/console` script which can be executed from the root of your GLPI directory.

> Example: **`sudo -u`** [**`www-data`**](#user-content-fn-1)[^1] **`php bin/console system:status`**

Each command can have zero or more arguments or options. Arguments are positional pieces of information while options are not and are prefixed by one or two hyphens.

{% hint style="success" %}
To view available commands, you can use the command **`php bin/console list`** or add **`--help`** at the end of a command to view available arguments.
{% endhint %}

***

## <i class="fa-computer">:computer:</i> Assets

### `assets:cleansoftware`

> Remove uninstalled software versions and software without versions.

#### Options:

| Name  | Shortcut | Description                                | Required | Default | Array | Negotiable |
| ----- | -------- | ------------------------------------------ | -------- | ------- | ----- | ---------- |
| --max | -m       | Maximum number of items to process per run | Yes      | 500     | No    | No         |

### `assets:purgesoftware`

> Purge unversioned software that has been deleted.

#### Options:

| Name | Shortcut | Description                                | Required | Default | Array | Negotiable |
| ---- | -------- | ------------------------------------------ | -------- | ------- | ----- | ---------- |
| -max | -m       | Maximum number of items to process per run | Yes      | 500     | No    | No         |

### From the GLPI Web Interface

<figure><img src="https://2965217165-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBk8u0TPogHtiUd7DaQyf%2Fuploads%2Fgit-blob-d9fda23f9f4b4c618cbf44861541c4b6ceec8f42%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

***

## <i class="fa-building">:building:</i> Build

### `build:compile_scss`

> Compile an SCSS file.

#### Options:

| Name      | Shortcut | Description                                                         | Required | Default | Array | Negotiable |
| --------- | -------- | ------------------------------------------------------------------- | -------- | ------- | ----- | ---------- |
| --file    | -f       | File to compile (compiles all SCSS files by default)                | No       | \[]     | Yes   | Yes        |
| --dry-run |          | Simulate compilation without actually saving the compiled CSS files | No       |         | No    | No         |

***

## <i class="fa-memory">:memory:</i> Cache

### `cache:clear`

> Clear the GLPI cache.

#### Options:

| Name      | Shortcut | Description                                                                                          | Required | Default | Array | Negotiable |
| --------- | -------- | ---------------------------------------------------------------------------------------------------- | -------- | ------- | ----- | ---------- |
| --context | -c       | Cache context to clear (e.g., 'core' or 'plugin:plugin\_name'). All contexts are cleared by default. | Yes      | \[]     | Yes   | No         |

### `cache:configure`

> Set cache configuration

#### Options:

| Name                     | Shortcut | Description                                                                           | Required | Default | Array | Negotiable |
| ------------------------ | -------- | ------------------------------------------------------------------------------------- | -------- | ------- | ----- | ---------- |
| --context                |          | Cache context (e.g., 'core' or 'plugin:plugin\_name')                                 | Yes      | core    | No    | No         |
| --dsn                    |          | Cache system DSN                                                                      | Yes      | \[]     | Yes   | No         |
| --use-default            |          | Disable cache configuration to use the default filesystem cache for the given context | No       |         | No    | No         |
| --skip-connection-checks |          | Skip connection checks                                                                | No       |         | No    | No         |

{% hint style="info" %}
**Help**

Valid cache systems:

* Memcached
* Redis (TCP)
* Redis (TLS)

Memcached DSN format:

* memcached://\[user:pass@]\[ip|host|socket\[:port]]\[?weight=int]

Redis (TCP) DSN format:

* redis\://\[pass@]\[ip|host|socket\[:port]]\[/db-index]

Redis (TLS) DSN format:

* rediss\://\[pass@]\[ip|host|socket\[:port]]\[/db-index]

The cache namespace can be used to ensure either separation or sharing of data from multiple GLPI instances on the same cache system.
{% endhint %}

### Usage

> * glpi:cache:configure --use-default
> * glpi:cache:configure --dsn=memcached://cache1.glpi-project.org --dsn=memcached://cache2.glpi-project.org
> * glpi:cache:configure --dsn=redis\://redis.glpi-project.org:6379/glpi

### `cache:debug`

> Debug GLPI cache.

#### Options:

| Name      | Shortcut | Description                                                     | Required | Default | Array | Negotiable |
| --------- | -------- | --------------------------------------------------------------- | -------- | ------- | ----- | ---------- |
| --key     | -k       | Cache key to debug.                                             | Yes      | \[]     | Yes   | No         |
| --context | -c       | Cache context to clear (e.g., 'core' or 'plugin:plugin\_name'). | Yes      | core    | No    | No         |

### `cache:set_namespace_prefix`

> Set cache namespace prefix

#### Arguments (in order):

| Name   | Description      | Required | Default |
| ------ | ---------------- | -------- | ------- |
| prefix | Namespace prefix | Yes      |         |

***

## <i class="fa-command">:command:</i> Completion

### `completion`

> Display shell completion script

#### Static Installation

{% stepper %}
{% step %}
Generate the script into a global completion file and restart your shell:

**`bin/console completion nologin | sudo tee /etc/bash_completion.d/console`**

Or save the script to a local file and execute it:

**`bin/console completion nologin > completion.sh`**
{% endstep %}

{% step %}
Source the file on each project usage:

**`source completion.sh`**

Or add this line to the end of your `~/.bashrc` file:

**`source /path/to/completion.sh`**
{% endstep %}
{% endstepper %}

#### Dynamic Installation

* Add this to the end of your shell configuration file (e.g., `~/.bashrc`):

**`eval "$(`**[**`/path/to/glpi`**](#user-content-fn-2)[^2]**`/bin/console completion nologin)"`**

***

## <i class="fa-gear">:gear:</i> Config

### `config:set`

> Set configuration value

#### Arguments (in order):

| Name  | Description                                                      | Required | Default |
| ----- | ---------------------------------------------------------------- | -------- | ------- |
| key   | Configuration key                                                | Yes      |         |
| value | Configuration value (omit argument to enter value interactively) | Yes      |         |

#### Options:

| Name      | Shortcut | Description           | Required | Default | Array | Negotiable |
| --------- | -------- | --------------------- | -------- | ------- | ----- | ---------- |
| --context | -c       | Configuration context | Yes      | core    | No    | No         |

***

## <i class="fa-database">:database:</i> Database

### `db:check_schema_integrity` ou `db:check`

> Check for schema differences between the current database and the installation file.

#### Options

| Name                                 | Shortcut | Description                                                                                   | Required | Default | Table | Negatable |
| ------------------------------------ | -------- | --------------------------------------------------------------------------------------------- | -------- | ------- | ----- | --------- |
| --strict                             |          | Strict comparison of definitions                                                              | No       |         | No    | No        |
| --check-all-migrations               |          | Check tokens related to all database migrations.                                              | No       |         | No    | No        |
| --check-innodb-migration             |          | Check tokens related to the "MyISAM" to "InnoDB" migration.                                   | No       |         | No    | No        |
| --check-timestamps-migration         |          | Check tokens related to the "datetime" to "timestamp" migration.                              | No       |         | No    | No        |
| --check-utf8mb4-migration            |          | Check tokens related to the "utf8" to "utf8mb4" migration.                                    | No       |         | No    | No        |
| --check-dynamic-row-format-migration |          | Check tokens related to the "DYNAMIC" row format migration.                                   | No       |         | No    | No        |
| --check-unsigned-keys-migration      |          | Check tokens related to the migration of signed integers to unsigned in primary/foreign keys. | No       |         | No    | No        |

### `db:configure`

> Set database configuration

#### Options :

| Name                   | Shortcut | Description                                                                      | Required | Default   | Table | Negatable |
| ---------------------- | -------- | -------------------------------------------------------------------------------- | -------- | --------- | ----- | --------- |
| --db-host              | -H       | Database host                                                                    | No       | localhost | No    | Yes       |
| --db-name              | -d       | Database name                                                                    | Yes      |           | No    | No        |
| --db-password          | -p       | Database password (value will be prompted if option is passed without value)     | No       |           | No    | Yes       |
| --db-port              | -P       | Database port                                                                    | No       |           | No    | Yes       |
| --db-user              | -u       | Database user                                                                    | Yes      |           | No    | No        |
| --reconfigure          | -r       | Reconfigure the database, overwrite configuration file if it already exists      | No       |           | No    | No        |
| --strict-configuration |          | Use strict configuration to enforce warnings on deprecated or discouraged usages | No       |           | No    | No        |

### `db:enable_timezones`

> Enable timezone usage.

### `db:install`

> Install database schema

#### Options :

| Name                   | Shortcut | Description                                                                                                                            | Required | Default   | Table | Negatable |
| ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------- | --------- | ----- | --------- |
| --db-host              | -H       | Database host                                                                                                                          | No       | localhost | No    | Yes       |
| --db-name              | -d       | Database name                                                                                                                          | Yes      |           | No    | No        |
| --db-password          | -p       | Database password (value will be prompted if option is passed without value)                                                           | No       |           | No    | Yes       |
| --db-port              | -P       | Database port                                                                                                                          | No       |           | No    | Yes       |
| --db-user              | -u       | Database user                                                                                                                          | Yes      |           | No    | No        |
| --reconfigure          | -r       | Reconfigure the database, overwrite configuration file if it already exists                                                            | No       |           | No    | No        |
| --strict-configuration |          | Use strict configuration to enforce warnings on deprecated or discouraged usages                                                       | No       |           | No    | No        |
| --default-language     | -L       | Default GLPI language                                                                                                                  | No       | en\_GB    | No    | Yes       |
| --force                | -f       | Force installation execution, overwriting existing database                                                                            | No       |           | No    | No        |
| --enable-telemetry     |          | Allow sending usage statistics to the telemetry service ([https://telemetry.glpi-project.org](https://telemetry.glpi-project.org/))    | No       |           | No    | No        |
| --no-telemetry         |          | Disallow sending usage statistics to the telemetry service ([https://telemetry.glpi-project.org](https://telemetry.glpi-project.org/)) | No       |           | No    | No        |

### `db:update`

> Update database schema to a new version

#### Options

| Name               | Shortcut | Description                                                                                                                            | Required | Default | Table | Negatable |
| ------------------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ----- | --------- |
| --allow-unstable   | -u       | Allow update to an unstable version                                                                                                    | No       |         | No    | No        |
| --force            | -f       | Force update execution from v-1 of GLPI even if the schema has not changed                                                             | No       |         | No    | No        |
| --enable-telemetry |          | Allow sending usage statistics to the telemetry service ([https://telemetry.glpi-project.org](https://telemetry.glpi-project.org/))    | No       |         | No    | No        |
| --no-telemetry     |          | Disallow sending usage statistics to the telemetry service ([https://telemetry.glpi-project.org](https://telemetry.glpi-project.org/)) | No       |         | No    | No        |

***

## <i class="fa-stethoscope">:stethoscope:</i> Diagnostic

### `diagnostic:check_documents_integrity`

> Check file integrity for GLPI documents.

### `diagnostic:check_html_encoding`

> Check for improperly encoded HTML content in the database.

#### Options

| Name              | Shortcut | Description                                                                      | Required | Default | Table | Negatable |
| ----------------- | -------- | -------------------------------------------------------------------------------- | -------- | ------- | ----- | --------- |
| --fix \| --no-fix | -f       | Fix detected issues                                                              | No       |         | No    | No        |
| --dump=DUMP       | -d       | Specifies the path to the file where SQL queries to undo changes will be stored. | No       |         | No    | No        |

### `diagnostic:check_source_code_integrity`

> Check GLPI source code file integrity.

| Name             | Shortcut | Description                                      | Required | Default | Table | Nillable |
| ---------------- | -------- | ------------------------------------------------ | -------- | ------- | ----- | -------- |
| --diff           | -d       | Displays differences between modified files      | No       |         | No    | No       |
| --allow-download |          | Allows downloading the GLPI version if necessary | No       |         | No    | No       |

***

## <i class="fa-life-ring">:life-ring:</i> Help

### `help`

> Displays help for each command

| Name            | Shortcut | Description                                                                                                 | Required | Default | Table | Nillable |
| --------------- | -------- | ----------------------------------------------------------------------------------------------------------- | -------- | ------- | ----- | -------- |
| --format=FORMAT |          | Displays the result according to the selected output format (`txt`, `xml`, `json`, or `md`. Default: `txt`) | No       |         | No    | No       |
| --raw           |          | To display the raw command help                                                                             | No       |         | No    | No       |

***

## <i class="fa-user-gear">:user-gear:</i> LDAP

### `ldap:sync`

> Synchronize users with LDAP server information

#### Options

<table><thead><tr><th>Name</th><th width="106">Shortcut</th><th width="291">Description</th><th>Required</th><th>Default</th><th>Table</th><th>Nillable</th></tr></thead><tbody><tr><td>--only-create-new</td><td>-c</td><td>Create only new users</td><td>No</td><td></td><td>No</td><td>No</td></tr><tr><td>--only-update-existing</td><td>-u</td><td>Update only existing users</td><td>No</td><td></td><td>No</td><td>No</td></tr><tr><td>--ldap-server-id</td><td>-s</td><td>Synchronize only users attached to this LDAP server</td><td>No</td><td>[]</td><td>Yes</td><td>Yes</td></tr><tr><td>--ldap-filter</td><td>-f</td><td>Filter to apply to the LDAP search</td><td>No</td><td></td><td>No</td><td>Yes</td></tr><tr><td>--begin-date</td><td></td><td>Start date to apply in the "modifyTimestamp" filter (see <a href="http://php.net/manual/en/datetime.formats.php">http://php.net/manual/en/datetime.formats.php</a> for supported formats)</td><td>No</td><td></td><td>No</td><td>Yes</td></tr><tr><td>--end-date</td><td></td><td>End date to apply in the "modifyTimestamp" filter (see <a href="http://php.net/manual/en/datetime.formats.php">http://php.net/manual/en/datetime.formats.php</a> for supported formats)</td><td>No</td><td></td><td>No</td><td>Yes</td></tr><tr><td>--deleted-user-strategy</td><td>-d</td><td><p>Force strategy used for deleted users (default configured actions: "0,0,0")<br>Three comma-separated values are expected.</p><p>1) Actions on the user's account:</p><ul><li>0: Do nothing</li><li>1: Disable</li><li>2: Move to trashbin<br></li></ul><p>2) Actions on the user's associated groups:</p><ul><li>0: Do nothing</li><li>1: Delete dynamic groups</li><li>2: Delete all groups<br></li></ul><p>3) Actions on the user's authorizations:</p><ul><li>0: Do nothing</li><li>1: Delete dynamic authorizations</li><li>2: Delete all authorizations</li></ul></td><td>No</td><td></td><td>No</td><td>Yes</td></tr><tr><td>--restored-user-strategy</td><td>-r</td><td><p>Force the strategy used for restored users (current action configured: "0") Possible values are:</p><ul><li>0: Do nothing</li><li>1: Restore (remove from trash)</li><li>3: Enable</li></ul></td><td>No</td><td></td><td>No</td><td>Yes</td></tr></tbody></table>

***

## <i class="fa-list">:list:</i> List

### `list`

> The list command lists all commands

* You can also display commands for a specific namespace:

```bash
bin/console list database
```

* You can also export information in other formats using the --format option:

```bash
bin/console list --format=xml
```

* It is also possible to get the raw list of commands (useful for integrating a command executor):

```bash
bin/console list --raw
```

## <i class="fa-gears">:gears:</i> Maintenance

### `maintenance:disable`

> Disable maintenance mode

### `maintenance:enable`

> Enable maintenance mode

#### Options

| Name   | Shortcut | Description                        | Required | Default | Table | Negation |
| ------ | -------- | ---------------------------------- | -------- | ------- | ----- | -------- |
| --text | -t       | Text to display during maintenance | No       |         | No    | Yes      |

***

## <i class="fa-shop">:shop:</i> Marketplace

### `marketplace:download`

> Download a plugin from the GLPI marketplace

#### Arguments (in order):

| Name    | Description | Required | Default |
| ------- | ----------- | -------- | ------- |
| plugins | Plugin key  | Yes      | \[]     |

#### Options

| Name    | Shortcut | Description                                             | Required | Default | Table | Negation |
| ------- | -------- | ------------------------------------------------------- | -------- | ------- | ----- | -------- |
| --force | -f       | Force download even if the plugin is already downloaded | No       |         | No    | No       |

### `marketplace:info`

> Get information about a plugin

#### Arguments (in order):

| Name   | Description | Required | Default |
| ------ | ----------- | -------- | ------- |
| plugin | Plugin key  | Yes      |         |

### `marketplace:search`

> Search the GLPI marketplace

#### Arguments (in order)

| Name | Description | Required | Default |
| ---- | ----------- | -------- | ------- |
| term | Search term | No       |         |

### `marketplace:upgrade`

> Download all plugins to their latest compatible versions, update all active plugins, and reactivate those that were active.

#### Options

| Name                | Shortcut | Description                                                                                              | Required | Default | Table | Negation |
| ------------------- | -------- | -------------------------------------------------------------------------------------------------------- | -------- | ------- | ----- | -------- |
| --username=USERNAME | -u       | Username used during the installation script (among other things to define plugin administration rights) | No       |         | No    | No       |

***

## <i class="fa-left-right">:left-right:</i> Migration

### `migration:appliances_plugin_to_core`

> Migrate data from the Appliances plugin to GLPI core tables

#### Options

| Name          | Shortcut | Description                          | Required | Default | Table | Negation |
| ------------- | -------- | ------------------------------------ | -------- | ------- | ----- | -------- |
| --skip-errors | -s       | Do not exit in case of import errors | No       |         | No    | Non      |

### `migration:databases_plugin_to_core`

> Migrate data from the Databases plugin to GLPI core tables

#### Options

| Name          | Shortcut | Description                          | Required | Default | Table | Negation |
| ------------- | -------- | ------------------------------------ | -------- | ------- | ----- | -------- |
| --skip-errors | -s       | Do not exit in case of import errors | No       |         | No    | Non      |

### `migration:domains_plugin_to_core`

> Migrate data from the Domains plugin to GLPI core tables

#### Options

| Name          | Shortcut | Description                  | Required | Default | Table | Negation |
| ------------- | -------- | ---------------------------- | -------- | ------- | ----- | -------- |
| --skip-errors | -s       | Do not exit on import errors | No       |         | No    | No       |

### `migration:dynamic_row_format`

> Convert database tables to "Dynamic" row format (required for "utf8mb4" character set support).

### `migration:formcreator_plugin_to_core`

> Migrate data from the Formcreator plugin to GLPI main tables

| Name              | Shortcut | Description                                                                 | Required | Default | Table | Negation |
| ----------------- | -------- | --------------------------------------------------------------------------- | -------- | ------- | ----- | -------- |
| --dry-run         |          | Simulate the migration                                                      | No       |         | No    | No       |
| --form-id=FORM-ID |          | Import only specific forms with the provided IDs (multiple values allowed). |          |         |       |          |

### `genericobject_plugin_to_core`

> Migrate data from the generic object plugin to GLPI main tables

| Name      | Shortcut | Description            | Required | Default | Table | Negation |
| --------- | -------- | ---------------------- | -------- | ------- | ----- | -------- |
| --dry-run |          | Simulate the migration | No       |         | No    | No       |

### `migration:migrate_all`

> Run all recommended optional migrations.

### `migration:myisam_to_innodb`

> Migrate MyISAM tables to InnoDB

### `migration:racks_plugin_to_core`

> Migrate data from the Racks plugin to GLPI core tables

#### Options

| Name                    | Shortcut | Description                                                                                                                 | Required | Default | Table | Negation |
| ----------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ----- | -------- |
| --ignore-other-elements | -i       | Ignore "PluginRacksOther" models and elements                                                                               | No       |         | No    | No       |
| --skip-errors           | -s       | Do not exit on import errors                                                                                                | No       |         | No    | No       |
| --truncate              | -t       | Delete existing core data                                                                                                   | No       |         | No    | No       |
| --update-plugin         | -u       | Run the Racks plugin update (you must have the files for version 1.8.0 to perform this operation)                           | No       |         | No    | No       |
| --without-plugin        | -w       | Enable migration without plugin files (we cannot guarantee that plugin data is compatible with the supported version 1.8.0) | No       |         | No    | No       |

### `migration:timestamps`

> Convert "datetime" fields to "timestamp" to use timezones.

### `migration:timestamps`

> Migrate primary/foreign keys to unsigned integers

### `migration:utf8mb4`

> Convert the database character set from "utf8" to "utf8mb4".

***

## <i class="fa-puzzle">:puzzle:</i> Plugins

### `plugin:activate`

> Activate one or more plugin(s)

#### Arguments (in order) :

| Name      | Description      | Required | Default |
| --------- | ---------------- | -------- | ------- |
| directory | Plugin directory | No       | \[]     |

#### Options

| Name  | Shortcut | Description                    | Required | Default | Table | Negation |
| ----- | -------- | ------------------------------ | -------- | ------- | ----- | -------- |
| --all | -a       | Run the command on all plugins | No       |         | No    | No       |

### `plugin:deactivate`

> Deactivate one or more plugin(s)

#### Arguments (in order)

| Name      | Description      | Required | Default |
| --------- | ---------------- | -------- | ------- |
| directory | Plugin directory | No       | \[]     |

#### Options

| Name  | Shortcut | Description                    | Required | Default | Table | Negable |
| ----- | -------- | ------------------------------ | -------- | ------- | ----- | ------- |
| --all | -a       | Run the command on all plugins | No       |         | No    | No      |

### `plugin:install`

> Run the plugin installation script(s)

#### Arguments (in order)

| Name      | Description      | Required | Default |
| --------- | ---------------- | -------- | ------- |
| directory | Plugin directory | No       | \[]     |

#### Options

| Name       | Shortcut | Description                                                                                                                                                                                                    | Required | Default | Table | Negable |
| ---------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ----- | ------- |
| --all      | -a       | Run the command on all plugins                                                                                                                                                                                 | No       |         | No    | No      |
| --param    | -p       | <p>Additional parameters to pass to the plugin installation hook function<br><br>- "-p foo" will set the value of parameter "foo" to true<br>- "-p foo=bar" will set the value of parameter "foo" to "bar"</p> | No       | \[]     | Yes   | Yes     |
| --username | -u       | Username used during the installation script (among other things, to define plugin administrator rights)                                                                                                       | Yes      |         | No    | No      |
| --force    | -f       | Force installation execution, even if the plugin is already installed                                                                                                                                          | No       |         | No    | No      |

### Usage

> glpi:plugin:install -p foo=bar -p force myplugin

### `plugin:list`

> List installed plugins (from the marketplace or manually installed), enabled, disabled, and those needing updates.

#### Options

| Name            | Shortcut | Description                                     | Required | Default | Table | Negable |
| --------------- | -------- | ----------------------------------------------- | -------- | ------- | ----- | ------- |
| --format=FORMAT | -f       | Output format (table or json), table by default | No       |         | Yes   | No      |
| --path          | -p       | Include the path to the plugins                 |          |         | Yes   |         |

### `plugin:resume_execution`

> Resume execution of all active plugins

### `plugin:suspend_execution`

> Suspend execution of all active plugins

### `plugin:uninstall`

> Run the plugin uninstallation script

#### Arguments (in order)

| Name      | Description      | Required | Default |
| --------- | ---------------- | -------- | ------- |
| directory | Plugin directory | No       | \[]     |

***

## <i class="fa-ruler">:ruler:</i> Rules

### `rules:process_software_category_rules`

> Process software category rules

#### Options

| Name  | Shortcut | Description                                                                        | Required | Default | Table | Negatable |
| ----- | -------- | ---------------------------------------------------------------------------------- | -------- | ------- | ----- | --------- |
| --all | -a       | Process the rule for all software, even those that already have a defined category | No       |         | No    | No        |

### `rules:replay_dictionary_rules`

> Replay dictionary rules on existing items

#### Options

<table><thead><tr><th>Name</th><th>Shortcut</th><th width="296">Description</th><th>Required</th><th>Table</th><th>Negatable</th></tr></thead><tbody><tr><td>--dictionary</td><td>-d</td><td><p>Dictionary to use. Possible values are:</p><ul><li>CableType</li><li>ComputerModel</li><li>ComputerType</li><li>DatabaseInstanceType</li><li>GlpiSocketModel</li><li>ImageFormat</li><li>ImageResolution</li><li>Manufacturer, MonitorModel</li><li>MonitorType</li><li>NetworkEquipmentModel</li><li>NetworkEquipmentType</li><li>OperatingSystem</li><li>OperatingSystemArchitecture</li><li>OperatingSystemEdition</li><li>OperatingSystemKernel</li><li>OperatingSystemKernelVersion</li><li>OperatingSystemServicePack</li><li>OperatingSystemVersion</li><li>PeripheralModel</li><li>PeripheralType</li><li>PhoneModel, PhoneType</li><li>Printer</li><li>PrinterModel</li><li>PrinterType</li><li>Software</li></ul></td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>--manufacturer-id</td><td>-m</td><td>If the option is set, only items with the given manufacturer ID will be processed. Currently only available for the Software dictionary.</td><td>Yes</td><td>No</td><td>No</td></tr></tbody></table>

***

## <i class="fa-shield-keyhole">:shield-keyhole:</i> Security

### `security:change_key`

> Change the password storage key and update values in the database.

### `security:change_oauth_key`

> (Re)generate OAuth keys

<table><thead><tr><th>Name</th><th>Shortcut</th><th width="189">Description</th><th>Required</th><th>Table</th><th>Negatable</th></tr></thead><tbody><tr><td>--force</td><td>-f</td><td>Force regeneration of OAuth keys even if they already exist.</td><td>No</td><td>No</td><td>No</td></tr></tbody></table>

### `security:disable_2fa`

> Disable 2FA for all users

#### Argument

| Name  | Description                       | Required | Default |
| ----- | --------------------------------- | -------- | ------- |
| login | Disable 2FA for one or more users | No       | \[]     |

### `security:session:list`

> List active sessions

#### Options

<table><thead><tr><th width="157">Name</th><th>Shortcut</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td>--login=LOGIN</td><td>-u</td><td>User name</td><td>No</td></tr></tbody></table>

### `security:session:revoke`

> Revoke login sessions

<table><thead><tr><th width="157">Name</th><th>Shortcut</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td>--login=LOGIN</td><td>-u</td><td>User name</td><td>No</td></tr><tr><td>--all</td><td>-a</td><td>Revoke all sessions</td><td>No</td></tr><tr><td>--session-id=SESSION-ID</td><td>-s</td><td>Session ID to revoke</td><td>No</td></tr></tbody></table>

***

## <i class="fa-gears">:gears:</i> System

### `system:check_requirements`

> Check system requirements

### `system:list_services`

> List system services

### `system:status`

> Check system status

#### Options

<table><thead><tr><th>Name</th><th>Shortcut</th><th width="237">Description</th><th width="111">Required</th><th>Default</th><th>Table</th><th>Negatable</th></tr></thead><tbody><tr><td>--private</td><td>-p</td><td>Advertise status information. Private status information may contain potentially sensitive information such as version information.</td><td>No</td><td></td><td>No</td><td>No</td></tr><tr><td>--service</td><td>-s</td><td>The service to check or all</td><td>No</td><td>all</td><td>No</td><td>Yes</td></tr></tbody></table>

***

## <i class="fa-clipboard-clock">:clipboard-clock:</i> Task

### `task:unlock`

> Unlock automatic tasks

#### Options

<table><thead><tr><th>Name</th><th width="106">Shortcut</th><th width="241">Description</th><th>Required</th><th>Table</th><th>Negatable</th></tr></thead><tbody><tr><td>--all</td><td>-a</td><td>Unlock all tasks</td><td>No</td><td>No</td><td>No</td></tr><tr><td>--cycle</td><td>-c</td><td>Execution time (in cycles) from which the task is considered blocked (delay = task frequency * cycle)</td><td>No</td><td>No</td><td>Yes</td></tr><tr><td>--delay</td><td>-d</td><td>Execution time (in seconds) from which the task is considered blocked (default: 1800)</td><td>No</td><td>No</td><td>Yes</td></tr><tr><td>--task</td><td>-t</td><td>Itemtype::name of the task to unlock (e.g., "MailCollector::mailgate")</td><td>No</td><td>Yes</td><td>Yes</td></tr></tbody></table>

***

## <i class="fa-screwdriver-wrench">:screwdriver-wrench:</i> Tools

### `tools:check_database_keys`

> Check database for missing and errounous keys

#### Options :

<table><thead><tr><th>Name</th><th width="216">Description</th><th>Required</th><th>Array</th><th>Negatable</th></tr></thead><tbody><tr><td>--detect-misnamed-keys</td><td>Detect misnamed keys</td><td>No</td><td>No</td><td>No</td></tr><tr><td>--detect-useless-keys</td><td>Detect misnamed keys</td><td>No</td><td>No</td><td>No</td></tr></tbody></table>

### `tools:check_database_schema_consistency`

> Check database schema consistency

### `tools:check_twig_templates_syntax`

> DESCRIPTION A FAIRE

### `tools:sdelete_orphan_logs`

> Delete orphan logs

#### Options

| Name      | Shortcut | Description                                             | Required | Default | Array | Negatable |
| --------- | -------- | ------------------------------------------------------- | -------- | ------- | ----- | --------- |
| --dry-run |          | Simulate the command without actually deleting anything | No       |         | No    | No        |

### `tools:generate_api_snapshot`

> Updates a snapshot used for API version tests

#### Argument

<table><thead><tr><th width="113">Name</th><th width="310">Description</th><th>Required</th><th>Default</th></tr></thead><tbody><tr><td>version</td><td>Version of the API to update the snapshot for</td><td>No</td><td>[]</td></tr></tbody></table>

### `tools:generate_dev_ldap`

> Create a ready to use AuthLDAP object

### `tools:generate_forms_for_each_illustrations`

> Generate one form per available illustration

### `tools:generate_hooks_documentation`

> Generate plugin hooks documentation

### `tools:generate_illustration_translations`

> DESCRIPTION A FAIRE

### `tools:licence_headers_check`

> Check licence header in code source files

#### Options

<table><thead><tr><th width="157">Name</th><th>Shortcut</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td>--plugin=PLUGIN</td><td>-p</td><td>Plugin name</td><td>No</td></tr><tr><td>--directory[=DIRECTORY]</td><td>-d</td><td>Directory to parse (optional)</td><td>No</td></tr><tr><td>--header-file[=HEADER-FILE]</td><td>​</td><td>Header file to use (optional)</td><td>No</td></tr><tr><td>--fix</td><td>-f</td><td>Fix missing and outdated headers</td><td>No</td></tr><tr><td>--discard-extra-tags</td><td>​</td><td>Discard extra tags found in headers</td><td>No</td></tr></tbody></table>

### `tools:locales:compile`

> Compile MO files from PO files

#### Options

<table><thead><tr><th width="157">Name</th><th>Shortcut</th><th>Description</th><th>Required</th><th>Default</th></tr></thead><tbody><tr><td>--plugin=PLUGIN</td><td>-p</td><td>Plugin name</td><td>No</td><td>​</td></tr><tr><td>--directory=DIRECTORY</td><td>-d</td><td>Directory to parse (optional)</td><td>No</td><td>​</td></tr></tbody></table>

### `tools:locales:extract`

> Extract strings from the project to generate POT file

### `tools:plugin:release`

> Build a GLPI plugin release archive

#### Options

<table><thead><tr><th width="157">Name</th><th>Shortcut</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td>--plugin=PLUGIN</td><td>-p</td><td>Plugin name</td><td>No</td></tr></tbody></table>

## <i class="fa-user-gear">:user-gear:</i> User

### `user:create`

> Create a new GLPI user in the internal database

#### Argument

| Name     | Description                          | Required | Default |
| -------- | ------------------------------------ | -------- | ------- |
| username | Specify the username of the new user | yes      | \[]     |

#### Options

<table><thead><tr><th>Name</th><th width="105">Shortcut</th><th width="220">Description</th><th>Required</th><th>Table</th><th>Negatable</th></tr></thead><tbody><tr><td>--password[=PASSWORD]</td><td>-p</td><td>Specify the password</td><td>No</td><td>No</td><td>No</td></tr><tr><td>--env=ENV</td><td></td><td>Environment to use. Possible values are: <code>production</code>, <code>staging</code>, <code>testing</code>, <code>e2e_testing</code>, <code>development</code></td><td>No</td><td>No</td><td>Yes</td></tr><tr><td>--config-dir[=CONFIG-DIR]</td><td></td><td>Configuration directory to use (this option is obsolete)</td><td>No</td><td>No</td><td>Yes</td></tr></tbody></table>

### `user:delete`

> Delete a user

#### Argument

| Name     | Description                                | Required | Default |
| -------- | ------------------------------------------ | -------- | ------- |
| username | Specify the username of the user to delete | Yes      | \[]     |

#### Option

<table><thead><tr><th>Name</th><th width="255">Description</th><th>Required</th><th>Table</th><th>Negatable</th></tr></thead><tbody><tr><td>--env=ENV</td><td>Environment to use. Possible values are: <code>production</code>, <code>staging</code>, <code>testing</code>, <code>e2e_testing</code>, <code>development</code></td><td>No</td><td>No</td><td>Yes</td></tr><tr><td>--config-dir[=CONFIG-DIR]</td><td>Configuration directory to use (this option is obsolete)</td><td>No</td><td>No</td><td>Yes</td></tr></tbody></table>

### `user:disable`

> Disable a user

#### Argument

| Name     | Description                                 | Required | Default |
| -------- | ------------------------------------------- | -------- | ------- |
| username | Specify the username of the user to disable | Yes      | \[]     |

#### Option

<table><thead><tr><th>Name</th><th width="257">Description</th><th>Required</th><th>Array</th><th>Negatable</th></tr></thead><tbody><tr><td>--env=ENV</td><td>Environment to use. Possible values are: <code>production</code>, <code>staging</code>, <code>testing</code>, <code>e2e_testing</code>, <code>development</code></td><td>No</td><td>No</td><td>Yes</td></tr><tr><td>--config-dir[=CONFIG-DIR]</td><td>Configuration directory to use (this option is deprecated)</td><td>No</td><td>No</td><td>Yes</td></tr></tbody></table>

### `user:enable`

> Enable a user

#### Argument

| Name     | Description                                    | Required | Default |
| -------- | ---------------------------------------------- | -------- | ------- |
| username | Indicates the identifier of the user to enable | Yes      | \[]     |

#### Options

<table><thead><tr><th>Name</th><th width="214">Description</th><th>Required</th><th>Array</th><th>Negatable</th></tr></thead><tbody><tr><td>--env=ENV</td><td>Environment to use. Possible values are: <code>production</code>, <code>staging</code>, <code>testing</code>, <code>e2e_testing</code>, <code>development</code></td><td>No</td><td>No</td><td>Yes</td></tr><tr><td>--config-dir[=CONFIG-DIR]</td><td>Configuration directory to use (this option is deprecated)</td><td>No</td><td>No</td><td>Yes</td></tr></tbody></table>

### `user:grant`

> Assign a profile to a user

#### Argument

| Name     | Description                                                           | Required | Default |
| -------- | --------------------------------------------------------------------- | -------- | ------- |
| username | Indicates the identifier of the user whose profile should be modified | Yes      | \[]     |

#### Options

<table><thead><tr><th>Name</th><th width="106">Shortcut</th><th width="202">Description</th><th>Required</th><th>Array</th><th>Negatable</th></tr></thead><tbody><tr><td>--profile= PROFILE</td><td>-p</td><td>Desired profile</td><td>Yes</td><td></td><td></td></tr><tr><td>--entity=ENTITY</td><td>-e</td><td>Entity [default: 0]</td><td>No</td><td></td><td></td></tr><tr><td>--recursive</td><td>-r</td><td>Recursion of the profile on sub-entities</td><td>No</td><td></td><td></td></tr><tr><td>--env=ENV</td><td></td><td>Environment to use. Possible values are: <code>production</code>, <code>staging</code>, <code>testing</code>, <code>e2e_testing</code>, <code>development</code></td><td>No</td><td>No</td><td>Yes</td></tr><tr><td>--config-dir[=CONFIG-DIR]</td><td></td><td>Configuration directory to use (this option is deprecated)</td><td>No</td><td>No</td><td>Yes</td></tr></tbody></table>

### `user:reset_password`

> Reset a user's password in the internal database

#### Argument

| Name     | Description                                                         | Required |
| -------- | ------------------------------------------------------------------- | -------- |
| username | Indicates the identifier of the user whose password should be reset | Yes      |

#### Options

<table><thead><tr><th>Name</th><th>Shortcut</th><th width="228">Description</th><th>Required</th><th>Array</th><th>Negatable</th></tr></thead><tbody><tr><td>--password[=PASSWORD]</td><td>-p</td><td>Specify the password</td><td>No</td><td></td><td></td></tr><tr><td>--env=ENV</td><td></td><td>Environment to use. Possible values are: <code>production</code>, <code>staging</code>, <code>testing</code>, <code>e2e_testing</code>, <code>development</code></td><td>No</td><td>No</td><td>Yes</td></tr><tr><td>--config-dir[=CONFIG-DIR]</td><td></td><td>Configuration directory to use (this option is deprecated)</td><td>No</td><td>No</td><td>Yes</td></tr></tbody></table>

***

[^1]: To be replaced by the user authorized to use the Web services

[^2]: To be modified with the path to your GLPI instance
