DeviceEnroller.exe の謎に迫る Season 2

皆さん、こんにちは。

今回は、DeviceEnroller.exe の謎に迫るシリーズの、第二回目です。

第一回目の記事を見ていない方はまず、先に、第一回目をご確認ください。

前回は、DeviceEnroller.exe とは何者なのかを紹介しました。

今回は、DeviceEnroller.exe のオプションについて紹介出来ればと思います。

<タスク スケジューラで呼び出される DeviceEnroller.exe>

第一回目の最後にて、DeviceEnroller.exe はタスク スケジューラにより呼び出されていると紹介しましたが、その詳細を追います。

まずは、Microsoft Intune のポリシー更新間隔のお話。

下記の公開情報に記載がありますが、Windows の場合、基本的に、約 8 時間ごとにポリシーが更新されると記載があります。

https://learn.microsoft.com/ja-jp/mem/intune/configuration/device-profile-troubleshoot#policy-refresh-intervals

では、実際に、この約 8 時間ごとはどこで設定されているのでしょうか?

答えは、タスク スケジューラになります。

[Schedule #3 created by enrollment client] というタスクが、トリガーとして、8 時間ごとに無制限で繰り返されるように設定されています。

[Schedule #3 created by enrollment client] というタスクが設定されているということは、[#1] や [#2] があるのではと思う方もいらっしゃるかと思います。ちゃんと、[#1] や [#2] もありますよ。この、[#1] や [#2] は、定期的に実行されるタスクではなく、デバイス エンロールした直後に実行される最初だけのタスクになります。

<直ぐにポリシーを受信/適用するのは?>

上記の構成内容を見ると、タスク スケジューラにて、約 8 時間ごとに実行されているタスクを手動で実行すれば、直ぐに Intune ポリシーを受信できると考える方も居るかと思います。

実際、Intune にてデバイスを管理していると、ポリシーが各クライアントになかなか落ちてこなくて、ずーっと待ったりすることがあります。そのため、何かしらソリューションが欲しいところですよね。

そのご要望にお答えして、この記事では、ポリシーを直ぐに適用する方法を紹介します。

まずは、[Schedule #3 created by enrollment client] にて実行されるコマンドを見ていきましょう。

%windir%\system32\deviceenroller.exe /o “ID” /c /b

上記のような構成となっています。
(ID の部分は、テナントで共通かと思いきや、各デバイスにより異なります。残念。)

ID 部分が、固定の値ではないので、バッチ ファイルなどですべての管理デバイスに配布して、エンド ユーザーに実行してもらうとかは簡単には出来ないのですよね。。。
(この点については、次回以降に紹介予定)

では、特定のマシン上で、このコマンドを実行してみましょう。

%windir%\system32\deviceenroller.exe /o “ID” /c

コマンド プロンプトを開いて、実行します。実行結果は、イベント ログで確認出来ます。

[アプリケーションとサービス ログ] > [Microsoft] > [Windows] > [DeviceManagement-Enterprise-Diagnostics-Provider] > [Admin]

スクリーン ショットを撮ろうと待機していたのですが、その際は再現出来なかったですが、deviceenroller.exe には複数のオプションがあるようです。

確認出来た限りでは、[/z] [/b] [/q] がありました。

deviceenroller.exe を実行するタイミングによっては、Configuration Manager でも実装されているスロットリングというキューの機構が実装されており、コマンドを実行してもちょうど 5 分間ポリシー適用の処理が実行されないケースがあります。

その際は、下記のようにイベント ログに記録されます。

OmaDmLogOmaDmApiInitiateSession: 結果: (Unknown Win32 Error code: 0x82ac0204)

では、キューに入らないで、即時実行するにはどうすれば良いのかですが、調査した限りでは、[/q] (quick の略なのかな。。。) オプションを付ければ良いようです。

%windir%\system32\deviceenroller.exe /o “ID” /c /q

上記のコマンドを実行した際は、即時ポリシー適用を確認出来ました。

<まとめ>

今回は、コマンドにて、Intune ポリシーを即時適用する方法をご紹介しました。皆さんも、Intune ポリシーが適用されない時は、待つのも良いですが、この方法を使って直ぐに適用するのも良いのではないでしょうか。ただ、今回紹介した内容では、ID 部分が各クライアントにより異なる値のため、汎用性はありません。各デバイスにて、ID を調べないといけないので。。。では、全社的にバッチ ファイル等を作る場合はどうすれば良いかについては、次回以降にお届け出来ればと思います。このシリーズに乞うご期待ください。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする