# aikidoctl CLI

`aikidoctl` は、Aikido Device Protection に同梱されているコマンドラインのヘルプツールです。問題が発生した際に、エージェントの確認、制御、トラブルシューティングを行うためのユーティリティを提供します。

## 使用方法

{% tabs %}
{% tab title="macOS" %}
```
aikidoctl [global options] command [command options]
```
{% endtab %}

{% tab title="Windows" %}
```
aikidoctl.exe [global options] command [command options]
```
{% endtab %}

{% tab title="Linux" %}
```
aikidoctl [global options] command [command options]
```
{% endtab %}
{% endtabs %}

`aikidoctl help`（または `aikidoctl <command> --help`）を実行すると、いつでも利用可能なコマンドとオプションの一覧を表示できます。Windows では `aikidoctl.exe` を使用してください。

## コマンド

すべてのコマンドがすべてのプラットフォームで利用できるわけではありません。**利用できないプラットフォーム**列には、そのコマンドが提供されていないプラットフォームが記載されています。空欄の場合は、すべてのプラットフォームで動作します。

| コマンド           | 利用できないプラットフォーム | 説明                                                                                                                                                                                                                                                                                                                             |
| ----------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `certs`           | Windows, Linux   | CA 証明書を管理します。                                                                                                                                                                                                                                                                                                                 |
| `certconfig`      |                  | ツールごとの証明書信頼設定（node、git、java など）を管理します。                                                                                                                                                                                                                                                                |
| `pause`           |                  | 指定した期間、Aikido Device Protection を一時停止します。**一時停止中は、デバイス上のすべての保護が完全に無効になります。**                                                                                                                                                                                                             |
| `unpause`         |                  | 一時停止中の Aikido Device Protection を再開します。                                                                                                                                                                                                                                                                              |
| `sbom`            | Linux            | ソフトウェア部品表（SBOM）の収集状況を確認します。                                                                                                                                                                                                                                                                               |
| `secretscanning`  | Windows, Linux   | デバイス上のシークレットスキャンを確認します。                                                                                                                                                                                                                                                                                                      |
| `device-identity` | macOS, Linux     | デバイスが登録に使用する ID を表示またはリセットします。VM のクローンまたはスナップショットから作成したマシンでは `device-identity reset` を実行してください。[クローンした VM とイメージ](https://help.aikido.dev/docs/docs-ja/aikido-device-protection/miscellaneous-aikido-endpoint/aikidoctl-cli#cloned-vms-and-images)を参照してください。                                                                                                                                              |
| `diagnostics`     |                  | <p>診断情報を収集して Aikido に送信します。<br><br><code>diagnostics</code> コマンドは、アプリ内の <strong>Report A Problem</strong> フローに相当するコマンドラインの機能です。診断情報を Aikido に送信するタイミングと方法については、<a href="https://help.aikido.dev/docs/docs-ja/aikido-device-protection/miscellaneous-aikido-endpoint/endpoint-information-for-support">問題の報告 / Device Protection サポート</a>を参照してください。</p> |
| `request`         |                  | 管理者の承認待ちでブロックされているパッケージを一覧表示し、`aikidoctl request` でそのリクエストを送信します。[コマンドラインからブロックされたインストールをリクエストする](https://help.aikido.dev/docs/docs-ja/aikido-device-protection/miscellaneous-aikido-endpoint/aikidoctl-cli/request-a-blocked-install)を参照してください。                                                                                                                                                      |
| `restart-daemon`  | Linux            | Aikido Device Protection デーモンを再起動します。                                                                                                                                                                                                                                                                                            |
| `version`         |                  | インストールされている Device Protection のバージョン、ビルドの詳細、サービスの状態を表示します。                                                                                                                                                                                                                                                         |
| `help`, `h`       |                  | コマンドの一覧、または特定のコマンドのヘルプを表示します。                                                                                                                                                                                                                                                                                        |

Aikido が構築する証明書バンドルに組織独自の CA を追加する方法については、[カスタム CA 証明書の追加](https://help.aikido.dev/docs/docs-ja/aikido-device-protection/miscellaneous-aikido-endpoint/custom-ca-certificates)を参照してください。

## クローンした VM とイメージ

デバイスの ID は、エージェントが初めて登録されたときに作成されます。VM に Device Protection をインストールした後にその VM をクローンまたはスナップショット化すると、そこから作成されたすべてのマシンが同じ ID を持つことになります。その結果、それらはすべて[デバイス一覧](https://app.aikido.dev/endpoint-protection/devices)で 1 つのエントリにまとめられ、1 台を除くすべてのマシンが見えなくなります。

Windows では、クローンまたはスナップショットをデプロイした後に次の手順を実行します。

1. マシンに固有のホスト名を付けます。
2. デバイス ID をリセットします。

{% code overflow="wrap" %}
```powershell
aikidoctl.exe device-identity reset
```
{% endcode %}

これにより、マシンは次回のチェックイン時に独立したデバイスとして登録されます。デバイス一覧に古い共有エントリがすでに存在する場合は、それを削除してください。

Linux では、デバイス ID は代わりに `/etc/machine-id` に基づきます。イメージビルドの最後の手順としてこのファイルを空にしておくと、各マシンが初回起動時に独自の ID を生成します。

## グローバルオプション

| オプション            | 説明                                                      |
| ----------------- | ---------------------------------------------------------------- |
| `--simple`        | スクリプト用に、インストールされている Device Protection のバージョンのみを出力します。 |
| `--help`, `-h`    | ヘルプを表示します。                                                       |
| `--version`, `-v` | バージョンを出力します。                                               |
