みなさま、こんにちは。
日本マイクロソフト System Center Configuration Manager サポートの金です。
本日は、System Center Configuration Manager Current Branch (以下、SCCM CB) にて、ハードウェア インベントリが収集されないといったお問い合わせを多々いただいております。
その際に、一度、お試しいただきたいトラブルシュート方法をご紹介いたしますので、お役立て頂けますと幸いでございます。
A. 強制でフルのポリシー、インベントリの収集を行う
ハードウェア インベントリが収集できない原因は複数あり対処方法もそれぞれ異なりますが、
フルのコンピューター ポリシーを強制的に受信させることで、事象が改善されることがございます。
そのため、事象を発覚しましたら、まずは、クライアントにて PowerShell を管理者権限で開き、以下のコマンドの実行をお試しください。
gwmi -Namespace rootccmpolicymachinerequestedconfig -Class CCM_Policy_AuthorityData2 | rwmi
gwmi -Namespace rootccmpolicymachinerequestedconfig -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 rootccm -Class sms_client -Name TriggerSchedule $trigger
上記のコマンドで、コンピューターポリシーが受信されたら、続いて、以下のコマンドでフルのハードウェアインベントリを強制的に収集します。
gwmi -Namespace rootccminvagt -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();
B. サイト サーバーの BADMIFS フォルダを確認する
上記のコマンドを実行いただいても、事象が改善されない場合は、クライアントから送られたハードウェアインベントリのレポートファイル (MIF ファイル) に問題がある可能性がございますので、SCCM サイト サーバーの以下のフォルダを確認します。
<SCCM インストール パス>Inboxesauthdataldr.boxBADMIFS
既定では、C:Program FilesMicrosoft Configuration Managerinboxesauthdataldr.boxBADMIFS となります。
クライアントから受信した MIF ファイルは、サイト サーバーのdataldr.boxに格納され、処理されます。
しかし、MIF ファイルに問題があり処理できなかった場合は、上記の BADMIFS の配下のフォルダに格納されます。
BADMIF フォルダの配下には、複数のフォルダが存在しており、フォルダごとに、MIF ファイルが格納される条件や対処方法が異なります。
通常、BADMIF フォルダの配下に格納される MIF ファイルは、既定の保存期間の 14 日が経過すると、自然と BADMIF フォルダから消えますが、
同じ端末からの MIF ファイルが継続格納される場合は、何らかの障害があると考えられますので、対処が必要となります。
BADMIF の配下で主に見かけられるフォルダは以下とおりであり、各フォルダに格納される条件や対策についても、以下に合わせてご説明させていただきます。
(1) DeltaMismatch
- 格納条件
差分インベントリ データの連番が合わなかった場合(いずれかの古い差分データが未到着)
- 対処方法
次回のスキャン時に、新たにフル ハードウェア インベントリが収集されるため、時間の経過とともに事象が解決されます。
もしくは、クライアントでフルのハードウェアインベントリをスクリプトで強制送信させることで、事象が解決されます。
(2) InvalidMachine
- 格納条件
MIF ファイルに含まれる GUID に合致するレコードが見つからない場合
- 対処方法
GUID 重複が発生していない場合は、クライアントで探索データが送信された後、ハードウェア インベントリが収集されることで、時間の経過とともに事象が解決されます。
ただちに対処する場合は、探索データを送信した後、フルのハードウェアインベントリをスクリプトで強制送信させることで、事象が解決されます。
ただし、GUID 重複が発生している場合は、SCCM の情報を完全に削除して、SCCM クライアントを再インストールするなどの対処が必要となります。
(3) MajorMismatch
- 格納条件
フル インベントリ データがないところに差分インベントリ データが到着した場合
- 対処方法
次回のスキャン時に、新たにフル ハードウェア インベントリが収集されるため、時間の経過とともに事象が解決されます。
もしくは、クライアントでフルのハードウェアインベントリをスクリプトで強制送信させることで、事象が解決されます。
(4) MissingSystemClass
- 格納条件
MIF ファイルの中の最上位のグループ定義が存在しなかった場合
- 対処方法
対象端末のインベントリが更新されていれば、特に対処は必要ありません。
更新されていない場合は、クライアントでフルのハードウェアインベントリをスクリプトで強制送信させることで、事象が解決されます。
(5) NonExistentRow
- 格納条件
存在しないレコードを更新しようとした場合(いずれかの古い差分データが未到着)
- 対処方法
クライアントで探索データが送信された後、ハードウェア インベントリが収集されることで、時間の経過とともに事象が解決されます。
ただちに対処する場合は、探索データを送信した後、フルのハードウェアインベントリをスクリプトで強制送信させることで、事象が解決されます。
(6) Outdated
- 格納条件
クライアントから送信された MIF ファイルのレポート バージョンが、SCCM のサーバー上に保存されているバージョンより古く、期限切れであった場合
- 対処方法
サーバー上で、一度クライアントを削除します。その後、クライアントから探索データが送信されて、新たにフル ハードウェア インベントリが送信されることに伴い、レポート バージョンも更新され、事象が解消されます。
(7) ExceedSizeLimit
- 格納条件
MIF ファイルのサイズが、以下で設定しているサイズ制限値を超過した場合 (既定値 : 5MB) "HKLMSOFTWAREMicrosoftSMSComponentsSMS_INVENTORY_DATA_LOADERMax MIF Size"
- 対処方法
上記のレジストリ キーの値を、適切な値に変更します。もしくは、収集対象とするインベントリのクラスを減らし、サイズ制限値を超えないようにします。
(8) ErrorCode_%d
- 格納条件
MIF ファイルが、上記記載の原因以外の原因で格納された場合、"%d" にはエラーコードが記載される。
- 対処方法
エラーコードにより、対処方法が異なります。
以上となります。