Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
こんにちは、System Center サポートの石井です。
日本語版 SCCM 2012 (SP 無し、SP1 問わず) において、"ステータス フィルター規則" の既存の設定を変更する場合に注意事項があります。
以下のように、サイトの "ステータス フィルター規則" の設定画面を開くと、既定で用意されたものが 13 個用意されています。
この既存の設定について、設定変更を行ってしまうと、サイト ステータスやコンポーネント ステータスが更新されなくなるという問題が発生します。
1. <問題の予防>
大きなニーズが無い限り、既存の設定についての設定変更は行わないようお願いします。新規の規則作成であれば問題は無いので、可能な限り新規追加にて対応をして下さい。
2. <問題の回避策>
既に何らかの設定変更を実施いただいており、サイト ステータスやコンポーネント ステータスが更新されない問題が発生している場合、後述の回避策を実施下さい。
3. <設定の変更が避けられない場合>
既存の規則について、エンド様の要件上、設定の変更が必要な場合には、設定変更後に回避策の実施を行うことで、設定を変更可能です。
この問題については、開発部門にフィードバックし、原因特定や改善に向けての調査を開始しております。問題の改善までの間、運用による回避にご協力をお願いいたします。
問題の影響度
=============
"サイト ステータス" や "コンポーネント ステータス" といった、SCCM 2012 のサイトの役割において異常が発生していないか、監視する機能が停止してしまいます。
クライアント管理上、あるいはサーバーの動作上の実際の動作に影響はありません。しかしながら、万が一、何らかの内部エラーが発生し、コンポーネントが動作異常となった場合や、エラー検知した場合に、このような監視画面からエラーの発生を検知できません。
再現手順
=============
事象発生時の再現手順の一例です。以下のように、"その他すべてのメッセージをサイト データベースに書き込み~" のステータス フィルター規則の保存日数を、既定の 30 日から 31 日に変更し、保存すると問題が発生します。
何がおきているか
=============
既存のフィルターの変更を行うと、日本語訳されたフィルターをもう一つ定義として追加してしまいます。本来であれば、既存の設定の設定変更に過ぎないため、新規追加は発生してはなりません。
問題が起きると、このルールの数について、内部で保持されている設定数が実際のルール数よりも多くなってしまい、不一致となります。このため、サイト ステータスやコンポーネント ステータスといった情報の更新が停止してしまいます。
また、サイト サーバーのインストール フォルダーの、Logs フォルダー配下、Statmgr.log には以下のようなメッセージが記録されます。
-----------
ERROR: The component item for SMS_STATUS_MANAGER in the master site control file does not contain property list items for a status filter named "SMS_STATUS_MANAGER", or those property lists are corrupt or badly formatted.
-----------
以下画像 (クリックで拡大可能) が、内部設定 (右側) と、実際の設定数 (左側) との不一致を示したものです。日本語訳されたルールが内部的に増加してしまっていることがわかります。
回避策
=============
問題の発生しているサイト サーバーにログインし、以下の手順を実施することで、増加してしまったルールを削除出来ます。
誤った設定変更は、SCCM サイト データベースの破損など、取り返しのつかない問題となる場合があります。設定変更前にサイトのバックアップを必ず取得下さい。
1 ConfigMgrサイト サーバーに管理者としてログオンする。
2 コマンドプロンプト管理者として開き、WbemTest.exeを実行する。
3 [接続…]ボタンをクリック、名前空間にroot\SMS\site_<サイトコード>を入力し、[接続]ボタンをクリックする。
4 [クラスの列挙…]ボタンをクリック、[スーパークラス]は空のままで[再帰]を選択し、[OK]ボタンをクリックする。
5 [クエリ結果]画面で、SMS_SCI_Componentを選択し、ダブルクリックする。
6 [SMS_SCI_Componentのオブジェクト エディター]画面で、[インスタンス]ボタンをクリックする。
7 [クエリ結果]画面で、SMS_SCI_Component.FileType=2.ItemName="SMS_STATUS_MANAGER|<事象が発生しているサイト サーバー名>で始まる行を選択し、ダブルクリックする。
8 [SMS_SCI_Component.FileType=2…]画面で、プロパティ一覧からPropListsの行を選択し、[プロパティの編集]ボタンをクリックする。
9 [プロパティ エディター]画面で、[埋め込みを表示]ボタンをクリックする。
10 [クエリ結果]画面で、SMS_EmbeddedPropertyList=<no key>の行が15オブジェクト表示される。
11 一覧の1行目をダブルクリックする。
12 [SMS_EmbeddedPropertyListのインスタンス]画面で、プロパティ一覧からPropertyListNameの行の値を確認する。
13 PropertyListNameプロパティの値が "Status Filter: SMS_STATUS_MANAGER" でなければ、[閉じる]ボタンでインスタンス画面を閉じ、[クエリ結果]画面の次の行をダブルクリックする。
14 PropertyListNameプロパティの値が "Status Filter: SMS_STATUS_MANAGER" であるインスタンスを見つけたら、Valuesプロパティを選択し、[プロパティの編集]ボタンをクリックする。
15 [プロパティ エディター]画面が開く。値の文字列の最後に "その他のすべてのメッセージをサイト データベースに書き込み、ユーザーがこれらのメッセージを削除できるようになるまでの期間を指定します。" が存在することを確認する。
16 値の文字列から、この日本語の文字列部分のみを削除する。直前のカンマも削除することに注意する。
編集前:"Default Actions=…the messages.","その他のすべての…を指定します。"
編集後:"Default Actions=…the messages."
17 [プロパティの保存]ボタンをクリックする。
18 [SMS_EmbeddedPropertyListのインスタンス]画面を、[オブジェクトの保存]ボタンで閉じる。
19 [クエリ結果]画面を、[閉じる]ボタンで閉じる。
20 [プロパティ エディター]画面を、[プロパティの保存]ボタンで閉じる。
21 [SMS_SCI_Component.FileType=2…]画面を、[オブジェクトの保存]ボタンで閉じる。
22 [クエリ結果]画面を、[閉じる]ボタンで閉じる。
23 [SMS_SCI_Componentのオブジェクト エディター]画面を、[閉じる]ボタンで閉じる。
24 [クエリ結果]画面を、[閉じる]ボタンで閉じる。
25 [Windows Management Instrumentation]画面を、[終了]ボタンで閉じる。
26 ConfigMgr サイトサーバーを再起動する。
27 起動後にConfigMgr管理コンソールを開き、コンポーネント ステータスの最終ステータス メッセージの日時が更新されていることを確認する。


