はじめに
こんにちは。最近、無印良品の素材を生かしたアイス チョコミント クールを布教しているすかんくです。
今回は小ネタとしてIntuneでデバイスのクリーンアップルールに関する機能アップデートと利用上の留意点についてお届けしたいと思います。
アップデート概要
- デバイスのクリーンアップルールがプラットフォームごとに作成可能になりました
デバイスのクリーンアップは、指定した期間以上Intuneにチェックイン(通信)していない非アクティブなデバイスを、Intuneの管理対象から自動的に削除する機能です。
この機能の目的は、使われなくなったデバイスのレコードを整理し、管理者が現在アクティブなデバイスの管理に集中できるようにすることです。

従来のクリーンアップルールの問題点
上記だけ見ると一見便利そうな機能ですが、実際には随分古くから存在する機能にも関わらず立ち位置としては「いまいち使いづらい機能」という評価でした。
従来は非アクティブと見なす期間(デバイスがIntuneにチェックインしない日数)を一つしか設定できなかったため、Windows、iOS、Android、macOSといったすべてのプラットフォームに一律で適用されていました。
しかし、実際の運用シナリオでは各プラットフォームでデバイスの使われ方やライフサイクルは大きく異なるのが現実です。
- PC (Windows/macOS):長期休暇やプロジェクトの合間など、数週間から数ヶ月単位でオフラインになることがあります。
- スマートフォン (iOS/Android):日常的に利用されるため、数週間もオフラインになることは稀で、長期間のオフラインは紛失や退職を示唆することが多いです。
- 共有デバイス・キオスク端末:特定の季節やイベントでのみ使用され、長期間使用されないケースもあります。
従来の画一的な仕様だと、管理者視点でガバナンス周りのリスクと非効率な運用が強いられてしまい、活用するのが難しい機能だと感じていました。具体的には以下のようなものです。
- 意図しないデバイスの削除:安全のために非アクティブ期間を短く設定すると、まだ使用中のデバイス(長期出張や休暇中の従業員のPCなど)がIntuneの管理下から削除されてしまうリスクがありました。端末上でミスコンフィグが発生した状態からの復旧は、通常の登録プロセス以上に手間がかかり、条件付きアクセスの設定次第ではユーザーの業務に支障をきたす可能性もありました。
- ライセンスの無駄と不正確なレポート:逆に、意図しない削除を避けるために非アクティブ期間を最大値(270日など)に設定すると、紛失・廃棄されたデバイスが長期間にわたってIntune上に残り続けることになります。これにより、不要なデバイスライセンスのコストが発生してしまうケースや、デバイスのコンプライアンスレポートなどのサマリ情報において正確性が損なわれるという問題がありました。
上記の課題を回避するため、上記機能を用いず、PowerShellスクリプトなどを用いて独自のクリーンアップ処理を実装するケースを多く観測しました。
スクリプトによる実装ではプラットフォーム以外にも特定の条件(特定のユーザーグループなど)に応じて柔軟なルールを適用できる反面、スクリプトの開発・テスト・メンテナンスに多大な工数がかかり、管理者にとって大きな負担となっていたかと思います。
アップデートによって何が変わるのか
プラットフォームごとにルールを最適化できるようになったことで、管理者視点だと「安全のために日数を長めに設定するか」「クリーンな状態を保つために短めに設定するか」という二者択一に悩む必要がなくなります。
- 意図しないデバイス削除のリスクを低減
(例)長期休暇中のPCが削除されてしまうといった事故を防ぐ - ライセンスコストの最適化とレポートの正確性向上
(例)使われなくなったスマートフォンなどは迅速にインベントリから削除し、コンプライアンスレポートの正確性を高める
さらに、ルールを保存する前に「影響を受けるデバイスのプレビュー」機能を使えば、どのデバイスが削除対象になるかを事前に確認できます。(これは元からある機能です)

補足:それでも救われないユースケース
ケース1:同じプラットフォーム内での、より詳細な条件分岐
今回のアップデートは、あくまで「プラットフォーム」という大きな括りでルールを分けるものです。そのため、同じプラットフォーム内でも、デバイスの所属グループや役割によってルールを変えたい、といった要件には応えられません。
▼ 具体的なシナリオ例
- 「営業部のWindows PC」は120日、「共有キオスク端末のWindows PC」は200日でクリーンアップしたい。
- 「役員が使用するiOSデバイス」は削除対象から除外したい。
- デバイスカテゴリで [工場] が設定されているデバイスを対象に別のポリシーを構成したい。
このように、特定のデバイスグループやユーザーグループ、フィルター、デバイスカテゴリなど、より粒度の細かい単位で非アクティブ期間を変えることはできません。
こうした運用を実現するには、従来通りPowerShellスクリプトなどを活用した運用が必要となります。
ケース2:Entra IDやAutopilotからの完全な削除
これは従来からの仕様ですが、非常に重要なポイントです。このルールによって削除されるのは、あくまでIntune上のデバイスレコードのみです。
Intuneからデバイスが消えても、Microsoft Entra ID(旧Azure AD)のデバイスオブジェクトや、Windows Autopilotに登録されたハードウェアハッシュは削除されずに残ります。
つまり、「使われなくなったデバイスの情報を関連サービスから完全に抹消する」というライフサイクル管理全体を自動化したい場合、この機能だけでは不十分です。Entra IDやAutopilotのクリーンアップは、別途手動またはPowerShellスクリプト等のワークロード上で実行する必要があります。
ケース3:「非アクティブ期間」以外の条件でのクリーンアップ(番外編)
これも機能アップデートに直接的には関係のないことですが、クリーンアップのトリガーはあくまで「Intuneへの最終チェックインからの経過日数」を見ているため、デバイスにおける他のコンテキストを条件にすることはできません。
▼ 具体的なシナリオ
- 特定のOSバージョン以下の、セキュリティ上問題のあるデバイスを自動で削除したい。
- コンプライアンスポリシーに長期間違反しているデバイスをインベントリから削除したい。
このようなデバイス上のコンテキストを活用したデバイスのクリーンアップを実施するには、コンプライアンスポリシーの非準拠デバイスに対するアクションを構成する必要があります。

おわりに
今回はMicrosoft Intuneのデバイスクリーンアップルールに関する機能アップデートと、それらを利用する際の留意点をまとめてみました。正直、現状でも機能的には弱いなと感じるのですが、それでもアップデートを提供してくれることは嬉しいですね。
自社のデバイスライフサイクルを見直す機会として検討されてみてはいかがでしょうか?
今後のさらなる機能拡張にも期待しつつ、ではまた!
参考
- クリーンアップ ルールを使用してデバイスを自動的に非表示にする
https://learn.microsoft.com/ja-jp/intune/intune-service/remote-actions/devices-wipe#automatically-hide-devices-with-cleanup-rules - Intune で非準拠デバイスに対するアクションを構成する
https://learn.microsoft.com/ja-jp/intune/intune-service/protect/actions-for-noncompliance