Young Leaves

ARM ベースのCPU でWindows 11 にMicrosoft Defender for Endpoint のオンボード用ローカルスクリプトがエラーになる

今回はARM ベースのWindows 11 でMicrosoft Defender for Endpoint をオンボードする時、ローカルスクリプトでエラーが発生し正常に登録できなかった事象について説明します。

若葉 香月
28 July, 2024

PC 環境

メーカー

Lenovo Yoga Slim 7x Gen 9

OS

Windows 11 Pro

CPU

Snapdragon(R) X Elite

Microsoft Defender for Endpoint のインストール方法

今回はエラーに関する記事のため、Microsoft Defender for Endpoint のWindows デバイスのオンボード方法を知りたい場合は以下URL を参照してください。

ローカル スクリプトを使用した Windows デバイスのオンボード

発生した事象・原因

デバイスをオンボードするためにローカルスクリプトを実行したところ、以下エラーでオンボードができない事象を確認しました。

[Error Id: 15, Error Level: 1] Unable to start Microsoft Defender for Endpoint Service. Error message: 無効なサービス名 です。

スクリプトの中身を確認しコマンドを1つずつ実行したところ、以下の行のコマンドで「SENSE」サービスがインストールされていないとを確認しました。

<省略>
%windir%\System32\sc.exe query "SENSE" | %windir%\System32\find.exe /i "RUNNING" >NUL 2>&1
<省略>

SENSE はMicrosoft Defender for Endpoint の名称になる全身のWindows Defender Advanced Threat Protection のサービス名です。Microsoft Defender for Endpoint へデバイスをオンボードする場合、このサービスを起動させる必要があります。指定したサービスがインストールされていないため、サービスを起動できずタイムアウトとなりエラーが発生していました。

解決した方法

デバイスは異なりますが、Surface Laptop 7 で同様の事象を確認しました。

Windows Defender ATP (SENSE service) on Arm Surface Laptop 7

QA サイトによると、DISM コマンドでSense.Client をインストールすることで解消すると記載されています。コマンドプロンプトから管理者権限で以下コマンドを実行後、ローカルスクリプトを実行したところMicrosoft Defender for Endpoint へのオンボードができました。

rem Senseクライアントの機能パッケージをインストールする
DISM /online /Add-Capability /CapabilityName:Microsoft.Windows.Sense.Client~~~~

DISM の機能パッケージについては以下ドキュメントを参照してください。

DISM 機能パッケージの保守のコマンド ライン オプション

ちなみに、Intel CPU のWindows 11 (Windows 10 からアップグレードしたデバイス) で確認したところ、SENSE はインストール済でした。ARM ベースのCPU ではデフォルトでSense.Client がインストールされていないと考えられます。

C:\Windows\System32>sc.exe query "SENSE"

SERVICE_NAME: SENSE
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 1077  (0x435)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

まとめ

  • ARM ベースのWindows 11 では「Microsoft.Windows.Sense.Client~~~~」がデフォルトでインストールされていない
  • ローカルスクリプトを実行する前にDISM コマンドでSense.Client をインストールする必要がある