Microsoft Endpoint Configuration Manager ハードウェア インベントリが収集されない時のトラブルシュート

Last Update:

みなさま、こんにちは。Configuration Manager サポート チームです。

本日は、Microsoft Endpoint Configuration Manager Current Branch (以下、MECM) にて、ハードウェア インベントリが収集されないといったお問い合わせを多々いただいております。

その際に、一度、お試しいただきたいトラブルシュート方法をご紹介いたしますので、お役立て頂けますと幸いでございます。

ハードウェア インベントリが収集できない原因は複数あり対処方法もそれぞれ異なりますが、
フルのコンピューター ポリシーを強制的に受信させることで、事象が改善されることがございます。
そのため、事象を発覚しましたら、まずは、クライアントにて PowerShell を管理者権限で開き、以下のコマンドの実行をお試しください。

1
2
3
4
5
6
7
8
gwmi -Namespace root\ccm\policy\machine\requestedconfig -Class CCM_Policy_AuthorityData2 | rwmi
gwmi -Namespace root\ccm\policy\machine\requestedconfig -Class CCM_Policy_ServerCookieData | rwmi

((New-Object -comobject cpapplet.cpappletmgr).GetClientActions() | Where-Object {$_.Name -eq 'Request & Evaluate Machine Policy'}).PerformAction();
Start-Sleep 120

$trigger = "{00000000-0000-0000-0000-000000000022}"
Invoke-WmiMethod -Namespace root\ccm -Class sms_client -Name TriggerSchedule $trigger

上記のコマンドで、コンピューターポリシーが受信されたら、続いて、以下のコマンドでフルのハードウェアインベントリを強制的に収集します。

1
2
3
gwmi -Namespace root\ccm\invagt -Class InventoryActionStatus -Filter "InventoryActionID='{00000000-0000-0000-0000-000000000001}'" | rwmi

((New-Object -comobject cpapplet.cpappletmgr).GetClientActions() | Where-Object {$_.Name -eq 'Hardware Inventory Collection Cycle'}).PerformAction();

サイト サーバーの BADMIFS フォルダを確認する

上記のコマンドを実行いただいても、事象が改善されない場合は、クライアントから送られたハードウェアインベントリのレポートファイル (MIF ファイル) に問題がある可能性がございますので、MECM サイト サーバーの以下のフォルダを確認します。

<MECM インストール パス>\Inboxes\auth\dataldr.box\BADMIFS

既定では、C:\Program Files\Microsoft Configuration Manager\inboxes\auth\dataldr.box\BADMIFS となります。

クライアントから受信した MIF ファイルは、サイト サーバーのdataldr.boxに格納され、処理されます。
しかし、MIF ファイルに問題があり処理できなかった場合は、上記の BADMIFS の配下のフォルダに格納されます。
BADMIF フォルダの配下には、複数のフォルダが存在しており、フォルダごとに、MIF ファイルが格納される条件や対処方法が異なります。

通常、BADMIF フォルダの配下に格納される MIF ファイルは、既定の保存期間の 14 日が経過すると、自然と BADMIF フォルダから消えますが、
同じ端末からの MIF ファイルが継続格納される場合は、何らかの障害があると考えられますので、対処が必要となります。

BADMIF の配下で主に見かけられるフォルダは以下とおりであり、各フォルダに格納される条件や対策についても、以下に合わせてご説明させていただきます。

1. DeltaMismatch

<格納条件>

差分インベントリ データの連番が合わなかった場合(いずれかの古い差分データが未到着)

<対処方法>

次回のスキャン時に、新たにフル ハードウェア インベントリが収集されるため、時間の経過とともに事象が解決されます。
もしくは、クライアントでフルのハードウェアインベントリをスクリプトで強制送信させることで、事象が解決されます。

2. InvalidMachine

<格納条件>

MIF ファイルに含まれる GUID に合致するレコードが見つからない場合

<対処方法>

GUID 重複が発生していない場合は、クライアントで探索データが送信された後、ハードウェア インベントリが収集されることで、時間の経過とともに事象が解決されます。
ただちに対処する場合は、探索データを送信した後、フルのハードウェアインベントリをスクリプトで強制送信させることで、事象が解決されます。
ただし、GUID 重複が発生している場合は、MECM の情報を完全に削除して、MECM クライアントを再インストールするなどの対処が必要となります。

参考: 重複 GUID の対処について
https://jpmem.github.io/blog/mecm/20210922_01/

3. MajorMismatch

<格納条件>

フル インベントリ データがないところに差分インベントリ データが到着した場合

<対処方法>

次回のスキャン時に、新たにフル ハードウェア インベントリが収集されるため、時間の経過とともに事象が解決されます。
もしくは、クライアントでフルのハードウェアインベントリをスクリプトで強制送信させることで、事象が解決されます。

4. MissingSystemClass

<格納条件>

MIF ファイルの中の最上位のグループ定義が存在しなかった場合

<対処方法>

対象端末のインベントリが更新されていれば、特に対処は必要ありません。
更新されていない場合は、クライアントでフルのハードウェアインベントリをスクリプトで強制送信させることで、事象が解決されます。

5. NonExistentRow

<格納条件>

存在しないレコードを更新しようとした場合(いずれかの古い差分データが未到着)

<対処方法>

クライアントで探索データが送信された後、ハードウェア インベントリが収集されることで、時間の経過とともに事象が解決されます。
ただちに対処する場合は、探索データを送信した後、フルのハードウェアインベントリをスクリプトで強制送信させることで、事象が解決されます。

6. Outdated

<格納条件>

クライアントから送信された MIF ファイルのレポート バージョンが、MECM のサーバー上に保存されているバージョンより古く、期限切れであった場合

<対処方法>

サーバー上で、一度クライアントを削除します。その後、クライアントから探索データが送信されて、新たにフル ハードウェア インベントリが送信されることに伴い、レポート バージョンも更新され、事象が解消されます。

7. ExceedSizeLimit

<格納条件>

MIF ファイルのサイズが、以下で設定しているサイズ制限値を超過した場合 (既定値 : 10 MB)

“HKLM\SOFTWARE\Microsoft\SMS\Components\SMS_INVENTORY_DATA_LOADER\Max MIF Size”

<対処方法>

上記のレジストリ キーの値を、適切な値に変更します。もしくは、収集対象とするインベントリのクラスを減らし、サイズ制限値を超えないようにします。

8. ErrorCode_%d

<格納条件>

MIF ファイルが、上記記載の原因以外の原因で格納された場合、”%d” にはエラーコードが記載される。

<対処方法>

エラーコードにより、対処方法が異なります。