# PulsewayでWindowsにAikido Device Protectionを展開する

Pulsewayを使用して、必要な権限を設定した状態で、管理対象のWindowsフリート全体にAikido Device Protectionを展開します。

{% hint style="info" %}
開始する前に、すべてのデバイスにPulsewayエージェントがインストールされ、オンラインとして報告されている必要があります。
{% endhint %}

## インストール

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

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

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

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

{% step %}
**インストールスクリプトを作成する**

1. Pulseway WebAppで、**Automation** → **Scripts**に移動します。
2. **Create Category**をクリックして名前を付ける（例: "Aikido"）か、既存の独自カテゴリを開きます。
3. **Create Script**をクリックし、"Aikido Device Protection install"という名前を付けます。
4. **Windows**タブを開き、**Enabled**に設定します。
5. スクリプトの種類を**PowerShell**に設定します。
6. エディターに次のガードを貼り付け、続けてAikido Device Protectionダッシュボードからコピーした PowerShellインストールコマンドを貼り付けます。

```powershell
if (Get-Service -Name EndpointProtection -ErrorAction SilentlyContinue) { exit 0 }
# paste the install command from the dashboard below this line
```

7. **Save Script**をクリックします。

{% hint style="info" %}
PulsewayエージェントサービスはLocal Systemとして実行されるため、エージェント経由で実行するスクリプトには、インストーラーがProgram Filesへの書き込みやサービスの登録に必要な権限がすでに付与されています。別途実行ユーザーを設定する必要はありません。
{% endhint %}
{% endstep %}

{% step %}
**管理対象デバイスでインストールスクリプトを実行する**

デバイスのグループ全体に展開するには、タスクを使用します。

1. **Automation** → **Tasks**に移動し、**Create Task**をクリックします。
2. 名前と説明を入力します（例: "Aikido Device Protection install"）。
3. **Scope**で、対象とするシステムまたはシステムグループを選択します。
4. **Scripts**タブを開き、ドロップダウンからカテゴリを選択して、**Aikido Device Protection install**の横にあるプラスアイコンをクリックしてタスクに追加します。
5. **Save**をクリックし、タスクを開いて**Run**をクリックすると即座に実行されます。

単一のデバイスにインストールするには、**Systems**に移動してデバイスを選択し、**Scripts**を開いてカテゴリを選び、**Aikido Device Protection install**を実行します。

{% hint style="info" %}
現在オフラインのデバイスや後から登録されるデバイスにも対応するため、タスクの**Enable Scheduling**にチェックを入れ、毎日繰り返すように設定してください。インストールスクリプト冒頭のガードにより、エージェントがすでにインストールされているデバイスでは早期に終了するため、インストーラーが再実行されることはありません。
{% endhint %}
{% endstep %}

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

Aikido Device Protectionアプリケーションのアンインストールをブロックし、サービスを稼働し続けるようにします。

**AppLockerでアンインストールをブロックする**

AppLockerは、ユーザーが実行できるアプリケーションを制御するWindowsの組み込み機能です。このポリシーにより、ユーザーはAikidoのアンインストーラーを起動できなくなります。

1. **Automation** → **Scripts**に移動し、カテゴリ内で**Create Script**をクリックします。
2. "Aikido AppLocker uninstall block"という名前を付け、**Windows**タブを開いて**Enabled**に設定し、**PowerShell**を選択します。
3. 次のスクリプトを貼り付け、**Save Script**をクリックします。

```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. 上記の手順に従って、対象デバイスをスコープとするタスクにスクリプトを追加し、実行します。

**Aikidoサービスを監視して再起動する**

1. **Server Admin** → **Policies**に移動し、Windowsデバイスに割り当てられているポリシーを開きます（または作成します）。
2. **Monitored Services**カテゴリを開き、`EndpointProtection`サービスを追加して、停止した場合にPulsewayが通知を発するようにします。
3. ポリシーを保存します。

Pulsewayでは監視ルールから直接アクションを実行できなくなったため、通知と、サービスを再起動するスケジュールタスクを組み合わせます。

1. 次の内容で"Aikido service restart"という名前のスクリプトを作成します。

```powershell
if (Get-Service -Name EndpointProtection -ErrorAction SilentlyContinue) { Start-Service EndpointProtection }
```

2. Windowsデバイスをスコープとするタスクにスクリプトを追加し、**Enable Scheduling**にチェックを入れて、毎時繰り返すように設定します。

{% hint style="info" %}
Aikido Device Protectionインストーラーは、OSレベルで`EndpointProtection`サービスのACLを強化するため、標準ユーザーはサービスを停止または無効化できません。ユーザーがローカル管理者として実行している場合はAppLockerルールを回避される可能性があるため、より強固に適用するには、上記のアンインストールブロックとローカル管理者権限の削除を組み合わせてください。
{% endhint %}
{% endstep %}

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

1. Pulseway WebAppで**Systems**に移動し、対象のWindowsデバイスを選択します。
2. **Restart**システムコマンドを実行します。

`Restart-Computer -Force`を含むスクリプトをタスクに追加し、業務時間外に実行するよう設定することで、再起動をスケジュールすることもできます。

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

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


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