Configuration Manager 2007 管理パックのスクリプト

Configuration Manager 2007 管理パックには、エージェント上で自動的に実行される Operations Manager 2007 スクリプトと、管理者が実行する必要のあるスクリプトが含まれます。このセクションでは、これらのスクリプトに関する詳細について説明します。

次のスクリプトは、Operations Manager 2007 エージェントにより自動的に実行されます。

  • ConfigMgr 2007 コレクション評価タスクの監視

  • ConfigMgr 2007 コンポーネント正常性の監視

  • ConfigMgr 2007 NLB 管理ポイント正常性の監視

  • ConfigMgr 2007 サーバー正常性の監視

  • ConfigMgr 2007 サイト保守タスクの監視

  • ConfigMgr 2007 サイト システム サマライザの監視

  • ConfigMgr 2007 SMS Executive クラッシュ ダンプの監視

  • ConfigMgr 2007 SMS 受信トレイの監視

  • ConfigMgr 2007 SMS ステータス メッセージの監視

  • ConfigMgr 2007 状態メッセージ概要タスクの監視

  • ConfigMgr 2007 サービス検索 - クライアント

  • ConfigMgr 2007 サービス検索 - サーバー

  • ConfigMgr 2007 サイト階層検出

ConfigMgr 2007 SMS ステータス メッセージの監視

Configuration Manager 2007 で発生する問題の多くは、SMS ステータス システム内部で検出され、レポートされます。ステータス メッセージは、Configuration Manager 2007 管理者が選択した条件に含まれる Configuration Manager 2007 コンポーネントによって生成されます。

ステータス メッセージは、Configuration Manager 2007 サイトのデータベースに送信され、上位サイトを経由して、親サイトのデータベースまで送信されます。Configuration Manager 2007 ステータス システムをサイトごとに監視できます。これは、特定のサイトにあるデータベースの Configuration Manager 2007 ステータス メッセージ テーブルをクエリするだけで行えます。

Configuration Manager 2007 管理者にとって最も重大なイベントを示す一連のステータス メッセージは、あらかじめ監視対象として設定されています。それらのメッセージのいずれかがデータベースで見つかると、アラートが生成されます。

このスクリプトは、次の処理を実行します。

  • スクリプトがエージェントレスな管理モードで実行されているかどうかを確認します。エージェントレスな管理モードで実行されている場合、スクリプトはこれ以上の処理を行わずに終了します。

  • グローバル変数を初期化します。

  • ConfigMgr 2007 Monitor SMS Status Messages.VarSet ファイルが監視する構成マネージャ サイト データベースごとに、最後に処理されたステータス メッセージの RecordID を開き、読み込みます。

  • ローカル コンピュータ上の各 Configuration Manager 2007 サイト データベースにあるステータス メッセージを処理します。

  • 監視する Configuration Manager 2007 サイト データベースについて、最後に処理されたステータス メッセージの RecordID を ConfigMgr 2007 Monitor SMS Status Messages.SCOM2007.VarSet ファイルに書き込み、そのファイルを閉じます。

ConfigMgr 2007 SMS ステータス メッセージの監視スクリプトはイベントを生成し、そのイベント ID をレポート対象の SMS ステータス メッセージ ID に設定します。次の表に、生成されるイベントの形式を示します。

ConfigMgr 2007 監視 SMS ステータス メッセージ スクリプトで発生したイベントのフォーマット

パラメータ

説明

EventType

SMS ステータス メッセージの重大度に応じて、成功、エラー、警告、または情報を表示

EventNumber

SMS ステータス メッセージ ID

Category

ConfigMgr サイト コード

LoggingDomain

コンピュータのリソース ドメイン

LoggingComputer

コンピュータの NetBIOS 名

Parameter1

コンピュータの NetBIOS 名

Parameter2

ConfigMgr モジュール名 (ConfigMgr サーバーなど)

Parameter3

ConfigMgr コンポーネント名

Parameter4

SMS メッセージ ID

Parameter5

Win32 エラー コード

Parameter6

親または最上位のサイト コード

Parameter7

SMS ステータス メッセージ テーブル内のステータス メッセージの RecordID

説明

"サイト <Site Code> データベースで、コンポーネント <Component Name> のマシン <NetBIOSName> に関し、監視対象の新しい SMS ステータス メッセージが見つかりました。メッセージ ID は <Message ID> です。"

ConfigMgr 2007 SMS ステータス メッセージの監視スクリプトは、ステータス メッセージ ID 番号 1102 で、スクリプト エラーもレポートします。

EventType= 警告

EventNumber= 1102

Description = 処理ルール <ScriptProcessingRuleName> で実行されている ConfigMgr 2007 SMS ステータス メッセージの監視スクリプトで、ランタイム エラーが発生しました。エラー メッセージには、"<ErrorDescription> に失敗しました" というテキストが含まれます。

イベント ルールを監視するすべての ConfigMgr 2007 ステータス メッセージは、"ConfigMgr 2007 ステータス :" という語句で始まり、ConfigMgr サイト データベース サーバー クラスが関連付けられています。

  • ConfigMgr 2007 ステータス :メッセージの監視

ConfigMgr 2007 ステータス : メッセージの監視は、スクリプトを同期時刻 00:02 で 30 分ごとに起動します。概要は、ルールの [ナレッジ] プロパティ ページに表示されます。

注意

ConfigMgr 2007 ステータス : 監視対象のテーブルに多数の履歴データがある場合、メッセージ監視の実行に時間がかかります。このクエリのベスト プラクティスは、実行が長くなりすぎないようにステータス メッセージを排除することです。

  • ConfigMgr 2007 ステータス : スクリプト エラーが発生しました

ConfigMgr 2007 ステータス : スクリプト エラーは、発生する可能性のあるスクリプト エラー イベントを監視し、それらのスクリプトに関するアラートを生成します。スクリプト エラー イベントは 1 つだけで、その番号は 1102 です。このイベントは、すべてのスクリプト エラーをレポートします。このアラートの解決方法は、ルールの [ナレッジ] プロパティ ページに表示されます。

  • ConfigMgr 2007 ステータス : <status message name>

ConfigMgr **2007 ステータス : <status message name> は、特定のステータス メッセージ イベントを監視し、それらのイベントに関するアラートを生成します。**このアラートの解決方法は、ルールの [ナレッジ] プロパティ ページに表示されます。

各アラートには、次の形式で記述されるイベントの説明が含まれます。ここで、$Description$ はイベントの説明です。

$Logging Computer$ - "ルール名".$Description$

サイトで最後に処理されたステータス メッセージの RecordID を維持するには、ConfigMgr 2007 Monitor SMS Status Messages VarSet ファイルが使用されます。VarSet ファイルは、TMP 環境変数が指定するフォルダにあります。このファイルは、次の形式で記述されるタブ区切りファイルです。

LastRecordID_DBNameRecordID#

たとえば、LastRecordID_SMS_FLA、RecordID 477860 とある場合、SMS_FLA というサイト データベースによって最後に処理された RecordID は 477860 であることを示します。

以前のバージョンから管理パックをアップグレードすると、ConfigMgr 2007 Monitor SMS Status Messages VarSet ファイルに次の内容が追加されます。

LastRecordID476743 LastRecordID_SMS_FLA477860

1 行目にはデータベース名が含まれていません。これは、複数データベースの監視をサポートしていない旧バージョンのステータス メッセージ監視を示します。2 行目には SMS_FLA というデータベース名が含まれています。これは、現バージョンのステータス メッセージ監視では、複数のデータベースの監視がサポートされていることを示します。

複数のサイト データベースを使用する場合、最初のデータ行を使用するための処理は何も行われません。それは、最初のデータ行がどのデータベースに該当するか特定することは不可能なためです。ただし、最初のデータ行は、新しい変更を評価し、アップグレード後にステータス メッセージ監視を正しい RecordID で開始する上で重要なので、VarSet ファイルから削除されることはありません。Configuration Manager 2007 では、SQL クラスタをサポートするために、サイト データベースにアクセスするすべてのスクリプトはサイト サーバーから実行されます。これは、スクリプトが SQL Server に対して常にローカルに実行されていた SMS 2003 とは異なります。このため、Configuration Manager 2007 サイト データベース サーバーのインスタンスは、探索される Microsoft 構成マネージャ サイト サーバーのインスタンスと同じになります。

ConfigMgr 2007 サイト システム サマライザの監視

サイト システム サマライザ

サイト システムのステータス サマライザは、定義済みの 全 Configuration Manager 2007 サイト システムのステータスを維持する SMS Executive サービスのコンポーネント スレッドです。既定で、サイト システムのステータス サマライザは毎正時に現在のステータスをポーリングします。このポーリングの間隔は、Configuration Manager 2007 サイト制御ファイルで定義されます。ポーリングの間隔は、変更しないようお勧めします。ステータスは、Configuration Manager 2007 サイト データベースのテーブルで維持されます。

サイト システム DownSince ステータス

サイト システムのステータス サマライザは、いずれかのポーリング間隔中にサイト システムと接続できないと、そのサイト システムがダウンしたと判断します。この現象は、次のいずれかの原因で発生する可能性があります。

  • サイト システムの電源が入っていない。または、サイト システムがネットワークに接続していないか、適切に機能していない。

  • 接続数が足りないため、ConfigMgr 2007 サイト システムのステータス サマライザが接続を確立できない。

  • ConfigMgr 2007 サイト システムのステータス サマライザに、サイト システムに接続するために必要なアクセス権が付与されていない。

  • ネットワークに問題があるため、ConfigMgr 2007 サイト システムのステータス サマライザがサイト システムに接続できない。

  • サイト システムが、完全にサービスから除外されている。

DownSince 値は、Summarizer_SiteSystem サイト データベース テーブルの列です。

次の制約があります。

  • サイト システム サマライザ ポーリング間隔は 1 時間です。この間隔は、サイト システムのステータス サマライザが全サイト システムをポーリングするのに十分な時間です。パフォーマンス上の理由により、この間隔は変更できません。サマライザのタイムアウト間隔は、サイト制御ファイルの Wakeup Interval プロパティではなく、Startup Schedule プロパティで制御されます。つまり、Wakeup Interval プロパティを既定値の 60 から別の値に変更しても効果はありません。また、Startup Schedule を変更しても、適用されません。既定で Startup Schedule は毎 60 分に設定されていますが、サイト システムのステータス サマライザは、設定されているこの値とは関係なく、毎正時にサイト システムをポーリングします。

  • アラートが生成されるのは、ConfigMgr [2007 サイト システム サマライザ : サイト システムがダウンしている可能性があります] イベントが 2 時間で 2 回続けて発生した場合のみです。この条件は、一時的なネットワーク機能停止もサイト可用性の判断材料とするように定められています。

  • サイト システムのステータス サマライザが検出できない状況で、Configuration Manager 2007 が使用不可になる場合が多々あります。たとえば、SQL Server サービスが停止しているときのように、SMS サービスが実行されていない場合や、Configuration Manager 2007 サイト データベースを使用できない場合、サイト システムのステータス サマライザは構成マネージャが使用不可であると判断できません。

  • サイト システムのステータス サマライザは、コンピュータでホストされている各サイト オブジェクトおよび各サイト システム役割について、現在の "DownSince" ステータスをサイト システムのステータス サマライザ テーブルのデータベースに書き込みます。

スクリプトを監視するサイト システムのステータス サマライザは、サイト システムのステータス サマライザ テーブル内の各サイト システム役割を調べます。そして、サイト システム ダウンとマークされていると、イベントを生成します。その後、このイベントに基づき、アラートが生成されます。複数の役割によって、複数のアラートが生成されることがあります。

Configuration Manager 2007 配布ポイントを除く各 Configuration Manager 2007 サーバー役割によって、既定で 2 つの Configuration Manager 2007 サーバー役割が設定されます。1 つは特定の役割に対するもの、もう 1 つは Configuration Manager 2007 コンポーネント サーバーに対するものです。たとえば、サーバー ロケータ ポイントとレポート ポイント両方をホストするサイト システムで、サーバーが 2 時間 (サイト システムのステータス サマライザ ポーリング 2 間隔分) 以上オフラインになるとします。この場合、サイト システムのステータス サマライザは、これら両方のロールに加えて、それぞれの構成マネージャ コンポーネント サーバー役割もダウンしているとマークします。

ただし、アラートはサーバー役割ごと、およびそれら 2 つのサーバー役割をホストしている物理的なコンポーネント サーバーごとに 1 つずつ生成されるので、2 時間のポーリング 1 間隔で計 3 つのアラートが生成されることになります。

  • 既定では、ポーリング間隔 1 時間のサイト システムのステータス サマライザが開始して 10 分後に ConfigMgr 2007 サイト システム サマライザの監視スクリプトが実行されるように、毎正時より 10 分遅延する 60 分スケジュールが設定されています。サマライザが一連の処理を終えるのに 10 分以上要する場合、時間指定イベント プロバイダの遅延時間を長めに調整する必要があります。遅延時間を長めに調整しないと、最新のサイト システム ステータス メッセージが失われることになります。

ConfigMgr 2007 SMS Executive クラッシュ ダンプの監視スクリプト

このスクリプトは、次の処理を実行します。

  • 対象となるコンピュータがエージェントレスなモードで実行されているかどうかを確認します。エージェントレスなモードで実行されている場合、スクリプトはこれ以上の処理を行わずに終了します。このスクリプトは、変数の維持にローカルの VarSet ファイルを使用するので、SMS Executive サービスを実行している対象コンピュータすべてに Operations Manager 2007 エージェントをインストールする必要があります。

  • TMP 環境変数で指定されるパスにあるローカルの ConfigMgr 2007 Monitor SMS Executive Crash Dumps.SCOM2007.VarSet ファイルを開き、内容をコレクションに読み込みます。ファイルが存在しない場合、スクリプト エラー イベントは生成されません。ファイルが存在するが、そのファイルを開けない場合、次のメッセージを含むスクリプト エラー イベントが生成されます。

スクリプト変数のロードに失敗しました。

  • 最後の確認以降に、新しいクラッシュ ダンプが発生していないか確認します。新しいクラッシュ ダンプが発生している場合、スクリプトは新しいクラッシュ ダンプをレポートするイベントを生成します。スクリプト エラー イベントを生成するため、スクリプトは次の処理を実行します。

    • SMS 識別キーのレジストリにある、レジストリ値 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Identification\ Installation Directory" から、ConfigMgr インストール ディレクトリのパスを取得します。パスを取得できない場合、スクリプトは次のメッセージを含むスクリプト エラー イベントを生成し、終了します。

レジストリ値の読み取りに失敗しました。

  • 取得した構成マネージャ インストール ディレクトリに "\Logs\CrashDumps" を追加し、CrashDumps ディレクトリの完全なパスを作成します。

  • CrashDumps ディレクトリが存在するかどうかを確認します。存在しない場合、スクリプトはこれ以上の処理を行わずに終了します。

  • CrashDump ディレクトリが存在する場合、最後のクラッシュ ダンプ フォルダの作成日時を VarSet コレクションから取得します。

  • 新しいクラッシュ ダンプが作成されているかどうかを確認し、最も新しいクラッシュ ダンプで処理します。最も新しいダンプを特定するには、保存されている、最後のクラッシュ ダンプのフォルダ作成日時が使用されます (使用可能な場合)。日時の比較は、1 秒単位で記録されるフォルダ作成日時に基づいて行われます。

  • 新しいクラッシュ ダンプが発生するか、スクリプトが初めて実行された場合、スクリプトはそのことをログに記録し、イベント 1710 を生成して、新しいクラッシュ ダンプ フォルダとパスを指定します。スクリプトは、VarSet コレクションにクラッシュ ダンプのフォルダ作成日時を保存します。

  • VarSet コレクションの内容をローカルの ConfigMgr 2007 Monitor SMS Executive Crash Dumps.SCOM2007.VarSet ファイルに書き込み、そのファイルを閉じます。ファイルが存在しない場合は、そのファイルを作成します。VarSet 変数が設定されていない場合、その変数のエントリはファイルに含まれません。ファイル書き込みのエラーが発生すると、次の内容を含むスクリプト エラー イベント メッセージが生成されます。スクリプト変数の保存に失敗しました。

ConfigMgr 2007 SMS Executive クラッシュ ダンプの監視イベント

ConfigMgr 2007 SMS Executive クラッシュ ダンプ スクリプトの監視は、イベント 1710 を生成し、次に示すようにクラッシュが発生したことをレポートします。

EventType = Error

EventNumber= 1710

Category = SMS Site Code

Description = サイト "XXX" の SMS Executive がクラッシュしました。詳細については、<Drive> <Configuration Manager インストール パス>\Logs\CrashDumps\NewFolder にあるクラッシュ ダンプの情報を参照してください。

ConfigMgr 2007 SMS Executive クラッシュ ダンプ スクリプトの監視エラー イベント

"SMS 2003 SMS Executive クラッシュ ダンプの監視" スクリプトは、イベント 1102 によってランタイム スクリプト エラーをレポートします。

EventType= 警告

EventNumber= 1102

Description = SMS 2003 クラッシュ ダンプ : SMS Executive の監視という処理ルールの下で実行しているスクリプト SMS 2003 SMS Executive クラッシュ ダンプの監視のランタイム エラーが検出されました。CrLf "<Message>に失敗しました." ErrorString

関連項目

概念

Configuration Manager 2007 管理パックの参考資料
Configuration Manager 2007 管理パックのサイトおよびコンポーネント
Configuration Manager 2007 管理パックのコンピュータ グループ
Configuration Manager 2007 管理パックのインストール クラス
Configuration Manager 2007 管理パックのビュー
Configuration Manager 2007 管理パックのダイアグラム
Configuration Manager 2007 管理パックのレポート