# NinjaOneを使用してWindowsにAikido Device Protectionを展開する

NinjaOneを使用して、必要な権限を設定した上で、管理対象のWindowsデバイス群全体にAikido Device Protectionを展開します。

{% hint style="info" %}
開始する前に、すべてのデバイスがNinjaOneに登録されている必要があります。
{% endhint %}

## インストール

{% stepper %}
{% step %}
**必要なもの**

開始する前に、Aikido Device Protectionダッシュボードから以下を用意してください。

* **PowerShellインストールコマンド**（ダッシュボードのユーザーグループセレクターからコピーしたもの。トークンとインストーラーのダウンロードを含みます）

お持ちでない場合は、[Aikido Device Protectionダッシュボード](https://app.aikido.dev/endpoint-protection/devices)に戻り、**Connect Device**をクリックしてください。
{% endstep %}

{% step %}
**管理対象デバイスでインストールコマンドを実行する**

1. NinjaOne管理ポータルで、**Administration** → **Library** → **Automation**に移動します。
2. **Add automation** → **Add new script**をクリックします。
3. スクリプトを設定します。
   * **Name:** Aikido Device Protection installer
   * **Language:** PowerShell
   * **Operating System:** Windows
   * **Architecture:** All
   * **Run as:** System
4. Aikido Device ProtectionダッシュボードからコピーしたPowerShellインストールコマンドをエディターに貼り付け、**Save**をクリックします。
5. 左側のナビゲーションで**Devices**に移動し、OSでフィルタリングしてWindowsデバイスのみを表示します。
6. 対象デバイスを選択し、ツールバーの**Run**をクリックして**Script**を選び、**Aikido Device Protection installer**を選択します。
7. **Run As**が**System**に設定されていることを確認し、**Run**をクリックします。

{% hint style="info" %}
後からオンラインになるデバイスにも対応するため、**Policies** → **Scheduled Automations**でこのスクリプトをスケジュール設定することもできます。
{% endhint %}
{% endstep %}

{% step %}
**ロックダウンポリシーを適用する**

NinjaOneのポリシー条件を使用して、Aikidoサービスを改ざんから保護します。アンインストールを防止するには、NinjaOneの外部でAppLockerを使用します。

1. NinjaOne管理ポータルで、**Administration** → **Policies**に移動します。
2. 対象デバイスに割り当てられているWindowsポリシーを選択（または作成）します。
3. **Conditions**タブを開き、**Add a condition**をクリックします。
4. **Windows Service (Windows)**を選択し、以下を設定します。
   * **Service:** `EndpointProtection`
   * **State:** Stopped
5. 条件の**Automation**で、`EndpointProtection`を再起動するスクリプトアクションを追加します（例：**Run as: System**に設定したPowerShellのワンライナー`Start-Service EndpointProtection`）。
6. ポリシーを保存します。

#### Aikido Device Protectionアプリのアンインストールをブロックする

PowerShell経由でAppLockerポリシーを適用するNinjaOneの自動化スクリプトを作成します。

1. NinjaOne管理ポータルで、**Administration** → **Library** → **Automation**に移動し、**Add automation** → **Add new script**をクリックします。
2. **Language**を**PowerShell**、**Operating System**を**Windows**、**Run as**を**System**に設定します。
3. 次のスクリプトを貼り付け、**Save**をクリックします。

```powershell
$tmp = "$env:TEMP\aikido-applocker.xml"
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/AikidoSec/safechain-internals/refs/heads/main/docs/aikido-applocker-deny-mdm.xml" -OutFile $tmp
Set-AppLockerPolicy -XmlPolicy $tmp -Merge
Remove-Item $tmp -Force
```

4. **Devices**タブから、対象のWindowsデバイスに対してスクリプトを実行します。
{% endstep %}

{% step %}
**インストール後にデバイスを再起動する**

1. NinjaOne管理ポータルで**Devices**を開き、対象のWindowsデバイスを選択します。
2. ツールバーの**Run**をクリックし、**Reboot**を選択します。再起動をスケジュールする場合は**Later**を、すぐに再起動する場合は**Now**を選択します。
3. 日付、時刻、タイムゾーンを選択し、**Set**をクリックします。

エージェントは次回の起動時に完全に有効化されます。
{% endstep %}
{% endstepper %}

## トラブルシューティング


| 問題 | 対処法 |
| ------- | --- |
| スクリプトの実行後、デバイスがダッシュボードに表示されない | デバイスを再起動してください。エージェントは次回の起動時に登録が完了します |
| MDM コンソールでスクリプトがエラーで終了する | テストホスト上でスクリプトを SYSTEM として手動で実行し、エラーの詳細を確認してください。また、デバイスがインストーラーをダウンロードするためにインターネットにアクセスできることを確認してください |
| エージェントサービスが実行されていない | デバイスを再起動してください。それでもサービスが存在しない場合は、インストールスクリプトを再実行してください |
| スクリプトが実行ポリシーによってブロックされる | MDM 経由で実行されるスクリプトは SYSTEM として実行されるため、ユーザーレベルの実行ポリシーによる制限を受けません。MDM がスクリプトの実行を制限する追加のポリシーを適用していないことを確認してください |
| インストール後、デバイスが非アクティブと表示される | エージェントを完全に有効化するには再起動が必要です。再起動後にもう一度確認してください |
