[SCCM] SCCM 2007 & 2012 のソフトウェアの更新の製品において、"Windows 8 Consumer Preview" が表示されているが、"Windows 8" や "Windows Server 2012" が表示されない

こんにちは、System Center サポート部の石井です。

SCCM 2007 や 2012で、更新プログラムの "製品" に "Windows 8" や "Windows Server 2012" が表示されず、代わりに "Windows 8 Consumer Preview" や "Windows Server 8 Beta" のみが表示されている状態となる現象が報告されています。

この状態については、Windows 8/Windows Server 2012 対応のための SCCM 2007 用と WSUS 3.0 SP2 用の更新プログラムを適用していても発生します。

// Windows 8/Windows Server 2012 対応の前提条件となる更新プログラムを未インストールの場合には、以下もご参照の上、ご準備ください。
// [SCCM] SCCM 2007 と 2012 における Windows 8/Windows Server 2012 のサポートについて
// https://blogs.technet.com/b/systemcenterjp/archive/2012/11/07/3531013.aspx
今回は、この問題についての原因と、回避策をご案内します。

- 原因

本問題の原因は、Windows 8 Consumer Preview といった既存のベータ用製品が、Windows 8 のリリース後の製品用と全く同じ製品 ID を有している事が原因です。
このため、SCCM のカタログ同期に伴ってベータ用の製品名を一度データベース上に格納してしまい、その格納日時がある程度新しくなってしまいますと、"Windows 8" という製品版のカタログは古い日時のものとして上書き更新されなくなってしまいます。

- 回避策

回避策として、SCCM の SQL データベース上の、該当の製品の更新日時を古い日時に変更いただくことで、より新しい正式な製品名に上書きされ、問題が解消します。

- 事前準備

手順においては SCCM のデータベースの直接編集を行います。本来変更すべきでは無い箇所を誤って変更した場合など、SCCM の内部情報が破損すると、重大な問題となる場合があります。手順の実施前に、SCCM のサイト バックアップを実行頂く事をお奨めいたします。

- 手順

SCCM の SQL テーブル編集の手順は以下となります。

1. SCCM にてご利用いただいている、SQL Server にログインします。(単一サーバー構成の場合、SCCM サーバーと同一マシンですが、複数サーバー構成の場合にはサイト データベースの役割を持つサーバーになります。)

2. SQL Server Management Studio を起動し、自身のデータベースに接続します。

3. 画面左のツリーより、"データベース\SMS_<サイトコード>\" を右クリックし、
クエリを選択します。

4. 画面右上に表示された、新しいクエリの空白に、以下クエリを記載して F5 キーを押します。

Select c.DateLastModified, I.CategoryInstanceName, c.CategoryInstance_UniqueID
from CI_CategoryInstances as c inner join CI_LocalizedCategoryInstances as I
on c.CategoryInstanceID = I.CategoryInstanceID
where I.CategoryInstanceName like '%Windows 8%' or I.CategoryInstanceName like '%Windows Server 8%'
5. 結果が表示されます。Windows 8 Consumer Preview 等、製品名と、一致する Unique ID が表示されます。

※ 本スクリーンショットは事象再現時のものとは異なります。実際には、Windows 8 Consumer Preview や、Windows Server 8 Beta といった製品名が表示されます。

 

6. Windows 8 Consumer Preview と Windows Server 8 Beta の CategoryInstance_Unique ID について、DateLastModified (最終変更時間) を昔に戻すクエリを実行します。

それぞれ、入力後、F5 キーを押します。

 

 

7. 結果の確認のため、手順 4 のクエリを実行します。影響したカラムについては、DateLastModified が 2010-01-01 に変化しています。

 

※ 本スクリーンショットは事象再現時のものとは異なります。実際には、Windows 8 Consumer Preview や、Windows Server 8 Beta といった製品名が表示されます。

8. SCCM 管理コンソールを開き、ソフトウェアのカタログ同期を行います。

例えば SCCM2007 の場合、管理コンソール画面左のツリーより、"コンピュータの管理\ソフトウェアの更新\更新リポジトリ" を右クリックし、"同期の実行" を行います。

同期の実行については、最長で 2 ~ 3 時間程度要する場合があります。加えて、本情報が製品の項目に反映にされるには、およそ半日~ 1 日程度お待ちいただくことで反映がされるという報告が多いです。

9. "ソフトウェアの更新ポイント コンポーネント" のプロパティの [製品] タブに Windows 8 や Windows Server 2012 が表示されるか、ご確認下さい。