次の方法で共有


Configuration Manager から Service Manager にデータをインポートする

この記事では、Configuration Manager コネクタを作成、構成、無効および有効にする方法と、ハードウェア情報を収集するために Configuration Manager 拡張 SMS_def.mof ファイルをカスタマイズする方法について説明します。 コネクタを使用して、Configuration Manager から Service Manager にデータをインポートします。

Configuration Manager 用のコネクタは、ユーザーとデバイスのアフィニティとモバイル デバイスを認識して、Service Manager データベースでそれらを同期します。

Configuration Manager サイト データベースから Service Manager データベースにデータをインポートできます。 これにより、Service Manager で管理するハードウェアとソフトウェアの構成アイテムが自動的に作成されて指定されます。 Configuration Manager からデータをインポートしたら、それぞれの構成アイテムを関連するインシデントにアタッチできます。構成アイテムの情報は、そのインシデントを担当しているアナリストが使用できるようになります。

Configuration Manager コネクタを使用して Configuration Manager から構成基準をインポートして、これらの構成基準を、非対応の構成アイテムのインシデントを自動的に生成するのに使用できます。

Microsoft Operations Framework (MOF) に基づいた変更と構成の実装の詳細については、「 Position of the Change and Configuration SMF Within the MOF IT Service Lifecycle (MOF IT サービス ライフサイクルでの変更と構成 SMF の位置付け)」を参照してください。

データ ウェアハウス登録処理の完了

Configuration Manager コネクタを作成する前に、データ ウェアハウス登録プロセスが完了していることを確認する必要があります。

Configuration Manager の追加データ

Configuration Manager の追加データには、ユーザーとデバイスのアフィニティ (UDA)、モバイル デバイスのデータ、ソフトウェアの要求データが含まれます。 Configuration Manager からの UDA データによって、コンピューターまたはデバイスのプライマリ ユーザーがより正確に特定されます。 Service Manager Configuration Manager コネクタによって収集された UDA データは、Service Manager データベースの UsesComputer および PrimaryUser 情報の設定に使用されます。

Windows Phone、Windows Mobile Phone、Nokia デバイスのモバイル デバイス データは、Service Manager Configuration Manager コネクタによって収集されます。 Configuration Manager Exchange Server コネクタを使用している場合、iPhone、BlackBerry、Android ベースの電話などの他のモバイル デバイスからのデータが収集されます。 モバイル デバイス データは Service Manager データベースに構成アイテムとしてインポートされ、作業項目、インシデント管理、変更管理との関連付けが可能です。

ソフトウェアの要求データは、Configuration Manager でセルフサービス ソフトウェアの要求の統合をサポートするのに使用されます。 Configuration Manager からの管理カテゴリ データを使用して、セルフサービス ポータルからの要求作成時に適用するサービス要求テンプレートが選択されます。

スケジュール

定期的なスケジュールに基づいて Service Manager データベースが更新されるように Configuration Manager コネクタを構成できます。 また、コネクタを無効にして、Configuration Manager からのデータのインポートを一時的に中断することもできます。 たとえば、Configuration Manager サイト データベースのメンテナンス プロセスによって一時的に不正確なデータが作成されることがわかっている場合は、メンテナンスを行うときにコネクタを無効にします。 メンテナンスが終わったら、コネクタを再び有効にして、データのインポートを再開します。

Configuration Manager の拡張されたハードウェア インベントリ

Configuration Manager では、組織で必要な条件に合わせて、追加の Windows Management Instrumentation (WMI) クラス、WMI クラス属性、レジストリ キー、他のカスタマイズされた情報を収集して、ハードウェア インベントリを拡張できます。 Configuration Manager でハードウェア インベントリを拡張する方法の詳細については、「 ハードウェア インベントリを拡張する方法を参照してください。

Configuration Manager でハードウェア インベントリを拡張した場合は、拡張ハードウェア インベントリを収集するために、Service Manager で新しい Configuration Manager コネクタ管理パックを作成する必要があります。 この新しい管理パックには、Configuration Manager から、拡張されたハードウェア インベントリを収集するために必要な情報のみを含めることも、元の Configuration Manager コネクタ管理パックに含まれていたすべての情報と新しい拡張されたハードウェア インベントリの両方を含めることもできます。 新しいコネクタ管理パックの作成の詳細については、「 拡張SMS_def.mof ファイルの Configuration Manager コネクタを構成する方法を参照してください。

ソフトウェア構成項目のインポート

Configuration Manager コネクタを使用してソフトウェア構成項目をインポートするには、Configuration Manager で次の資産インテリジェンス レポート クラスをインポートします。 Service Manager で Configuration Manager コネクタを構成するには、Configuration Manager でこれらのクラスを有効にする必要があります。 Configuration Manager で資産インテリジェンスを有効にする方法の詳細については、「 資産インテリジェンスを有効にする方法を参照してください。

  • SMS_InstalledSoftware

  • SMS_SystemConsoleUsage

  • SMS_SystemConsoleUser

  • SoftwareLicensingService

  • SoftwareLicensingProduct

特定のコンピューターのソフトウェアが[構成アイテム] ワークスペースの [ すべてのソフトウェア ビューに表示されない場合は、Service Manager プライマリ管理サーバーの Operations Manager イベント ログを確認する必要があります。 エラーの有無を判断するには、Operations Manager コネクタと Lfx サービスのソースのイベントを確認します。

Configuration Manager コネクタを作成する

次の手順を使用して、Configuration Manager から System Center - Service Manager にデータをインポートするコネクタを作成し、コネクタの状態を確認できます。

重要

Configuration Manager コネクタを作成する前に、Configuration Manager が環境内にインストールされていることを確認し、Windows ユーザー アカウント制御 (UAC) を有効にする必要があります。 UAC の詳細については、「 ユーザー アカウント制御」を参照してください。

Configuration Manager コネクタを作成するには、次の手順に従います。

  1. Service Manager コンソールで、 Administration を選択します。
  2. Administration ペインで、Administration を展開し、Connectors を選択します。
  3. Tasks ウィンドウの [ConnectorsCreate Connector を選択し、Configuration Manager Connector を選択します。 Configuration Manager コネクタ ウィザードが始動します。
  4. [開始する前に] ページで、 [次へ] を選択します。
  5. General ページで、次の操作を行います。
    1. [ ボックスに、新しいコネクタの名前を入力します。 たとえば、「 Configuration Manager Connector to Seattle」と入力します。
    2. [ Description ボックスに、新しいコネクタの説明を入力します。 たとえば、「 A Configuration Manager connector to site Seattle」と入力します。
    3. Enabled チェック ボックスがオンになっていることを確認し、 Nextを選択します。
  1. Select 管理パック ページの Management Pack の一覧で、System Center Configuration Manager コネクタの構成またはSystem Center Configuration Manager 2012 コネクタの構成を選択し、 Next を選択します。
  1. Select 管理パック ページの 管理パック 一覧で、System Center Configuration Manager コネクタの構成を選択し次へを選択します。
  1. [ System Center Configuration Manager Database への接続 ] ページで、次の操作を行います。

    1. Database サーバー名 ボックスに、Configuration Manager サイト データベースと名前付きインスタンスをホストしているサーバーのサーバー名を入力します (該当する場合)。 たとえば、架空の Woodgrove Bank では、Configuration Manager データベースが Microsoft SQL Server の名前付きインスタンス上にある場合は「 woodgrove\instance1 」と入力し、データベースが SQL Server の既定のインスタンスにある場合は「 woodgrove 」と入力します。
    2. [ データベース名 ボックスに、Configuration Manager サイト データベースの名前を入力します。 たとえば、「 SMS_CM1」と入力します。
    3. [ 資格情報 ] 領域で既存の実行アカウントを選択するか、新しい実行アカウントを作成します。 実行アカウントとして指定するユーザー アカウントは、Configuration Manager サイトのデータベースの smsdbrole_extract グループと db_datareader groups グループに属している必要があります。
    4. Credentials領域で、[接続のテスト選択
    5. Credentials ダイアログの Password ボックスにアカウントのパスワードを入力し、OK を選択します。
    6. [接続のテスト] ダイアログで、次の確認メッセージが表示されたら、[OK: サーバーへの接続が成功しましたを選択します。
    7. [次へ] を選択します。
  2. Collections ページで、適切なコレクションを選択し、 Nextを選択します。

  3. Schedule ページの Synchronize 一覧で、同期の頻度と時刻を設定し、次へを選択します。

  4. Summary ページで、行ったコネクタの設定を確認し、Create を選択します。

  5. Confirmation ページで、次の確認メッセージが表示されることを確認します。 あなたは、System Center Configuration Manager コネクタ ウィザードを正常に完了しました。次に、Close を選択します。

    Note

    System Center Configuration Manager コネクタ ウィザードでは、Configuration Manager からデータをインポートするのに数時間かかる場合があります。

Configuration Manager コネクタの作成を検証する

  1. 作成した Configuration Manager コネクタが、[ コネクタ ] ウィンドウに表示されていることを確認します。
  2. Service Manager コンソールで、 Configuration Items を選択します。 Configuration Items ペインで、Configuration Items を展開し、Computers を展開して、すべての Windows コンピューター選択します。 目的のコンピューターが すべての Windows コンピューター ウィンドウに表示されることを確認します。
  3. 中央のウィンドウで、新しくインポートしたコンピューターをダブルクリックします。 コンピューターの適切な詳細が、コンピューター フォームに表示されることを確認します。

Configuration Manager コネクタの状態を確認する

  • [ コネクタ ] ウィンドウで、開始日時と終了日時、状態、完了したパーセントが示されている列を確認します。

PowerShell シンボルWindows PowerShell コマンドを使用して、新しい Configuration Manager コネクタを作成できます。 Windows PowerShell を使用して Service Manager で新しい Configuration Manager コネクタを作成する方法については、「 New-SCCMConnectorを参照してください。

Configuration Manager コネクタを無効にして有効にする

次の手順を使用して、Configuration Manager コネクタを無効または有効にし、変更の状態を検証できます。

Configuration Manager コネクタを無効にする

  1. Service Manager コンソールで、 Administration を選択します。

  2. Administration ペインで、Administration を展開し、Connectors を選択します。

  3. Connectors ペインで、無効にする Configuration Manager コネクタを選択します。 たとえば、Configuration Manager connector to SEA を選択します。

  4. Tasks ウィンドウで、コネクタ名の下にある Disable を選択します。

    Note

    データの同期中にコネクタを無効にすると、同期プロセスが停止しない可能性があります。 ただし、無効になっているコネクタでは、その時点から Configuration Manager データベースから新しいデータはインポートされません。

Configuration Manager コネクタを有効にする

  1. Service Manager コンソールで、 Administration を選択します。
  2. Administration ペインで、Administration を展開し、Connectors を選択します。
  3. Connectors ペインで、有効にする Configuration Manager コネクタを選択します。 たとえば、Configuration Manager connector to SEA を選択します。
  4. Tasks ウィンドウで、コネクタ名の下にある Enable を選択します。

Configuration Manager コネクタの状態変更を検証する

  1. コネクタを無効または有効にした後、30 秒待ちます。 次に、Service Manager コンソールで Administration を選択し、 Connectors を選択します。
  2. Connectors ペインで、状態を変更したコネクタを見つけて、Enabled 列の値を確認します。
  3. コネクタを有効にした場合は、スケジュールに従って、同期が再開されることを確認します。 コネクタを無効にした場合は、スケジュールどおり同期されなくなっていることを確認します。

PowerShell シンボルのスクリーンショット。次のように、Windows PowerShell コマンドを使用して、これらのタスクとその他の関連タスクを完了できます。

  • Windows PowerShell を使用して Service Manager コネクタを起動する方法については、「 Start-SCSMConnectorを参照してください。
  • Windows PowerShell を使用して Service Manager で定義されているコネクタを取得し、その状態を表示する方法については、「 Get-SCSMConnectorを参照してください。
  • Windows PowerShell を使用して Service Manager コネクタのプロパティを更新する方法については、「 Update-SCSMConnectorを参照してください。

Configuration Manager コネクタを同期する

Service Manager データベースが最新であることを確認するために、System Center Configuration Manager コネクタは、最初の同期の後、毎日 Configuration Manager と同期します。 ただし、次の手順に従って、コネクタを手動で同期し、コネクタが同期されたことを検証できます。

Configuration Manager コネクタを手動で同期する

  1. Service Manager コンソールで、 Administration を選択します。

  2. Administration ペインで、Administration を展開し、Connectors を選択します。

  3. Connectors ペインで、同期する Configuration Manager コネクタを選択します。

  4. Tasks ウィンドウで、コネクタの名前の下にある Synchronize Now を選択します。

    Note

    インポートするデータの量によっては、インポートが完了するのに時間がかかることがあります。

Configuration Manager コネクタが同期されていることを検証する

  1. Service Manager コンソールで、 Configuration Items を選択します。
  2. [ 構成項目 ウィンドウで、 Computersを展開し、すべての Windows コンピューター 選択。 中央のウィンドウに、Configuration Manager の新しいコンピューターが表示されていることを確認します。

拡張SMS_def.mof ファイル用に Configuration Manager コネクタを構成する

Service Manager ハードウェア インベントリは、Configuration Manager 階層内の各コンピューターについて、使用可能なディスク領域、プロセッサの種類、オペレーティング システムなどのシステム情報を収集して提供します。 Configuration Manager で、ユーザーが Configuration Manager の既定の SMS_def.mof ファイルをカスタマイズして、収集されるハードウェア インベントリ情報を拡張できます。

Service Manager で Configuration Manager コネクタを作成するときに、そのコネクタに対して使用する必要のある既定の System Center Configuration Manager コネクタ構成管理パックを選択できます。 コネクタで既定の管理パックを使用することにより、システムにあるコンピューターのハードウェア、ソフトウェア、および必要な構成管理情報がインポートされます。

追加のハードウェア インベントリ データを収集するように Configuration Manager の SMS_def.mof ファイルが拡張されていて、それを Service Manager にインポートすることも必要な場合は、追加のデータを定義する新しいカスタムの管理パックを作成する必要があります。 次に、新しい Configuration Manager コネクタを作成し、新しいカスタム管理パックを使用するように構成する必要があります。

Configuration Manager から拡張ハードウェア インベントリ データをインポートする

Configuration Manager から拡張ハードウェア インベントリ データをインポートするには、カスタム Configuration Manager コネクタ管理パックを作成する必要があります。 カスタムの Configuration Manager コネクタを実装するには、次の 2 とおりの方法があります。

  • インポートする拡張データを定義するカスタムの Configuration Manager コネクタ管理パックを作成してから、2 つのコネクタを作成します。 1 つ目のコネクタは、既定で定義されているデータのインポート用として、既定の System Center Configuration Manager コネクタ構成管理パックを使用するように構成します。 2 つ目のコネクタは、追加の拡張データのインポート用として、カスタムの管理パックを使用するように構成します。

  • 既定の System Center Configuration Manager コネクタ構成管理パックを、追加の拡張データも含めるようにカスタマイズします。 必要なすべての情報をインポートするために、カスタムの管理パックを使用するように構成した単一のコネクタを作成します。

この記事では、前に説明した最初のアプローチを実装するために必要な情報を提供します。 ここでは、Configuration Manager から、拡張されたハードウェア インベントリをインポートするカスタムの Configuration Manager コネクタ管理パックを作成する方法を詳しく説明しています。

拡張されたハードウェア インベントリ データをインポートする手順の概要は、次のとおりです。

  1. 拡張データを定義するカスタムの Configuration Manager コネクタの構成管理パックを作成します。
  2. カスタム管理パックを Service Manager にインポートしのす。 管理パックをインポートすると、管理パックでの定義に従ってステージング テーブルを作成し、すべての SQL (構造化照会言語 ) インストール スクリプトを実行する管理パック内のディレクティブが Service Manager によって処理されます。
  3. Configuration Manager コネクタを作成して、カスタムの管理パックを使用するようにコネクタを構成します。
  4. Configuration Manager コネクタでデータをインポートします。

カスタム Configuration Manager コネクタ管理パックを操作する

カスタム Configurations Manager コネクタ管理パックを使用する場合は、次のヒントを考慮してください。

  • 管理パック内のコネクタ構成テンプレートのセマンティック エラーでは、管理パックがインポートされるのを妨げることはありません。また、管理パックはイベント ログに記録されます。 この場合は、管理パックを削除して、エラーを修正し、管理パックを再度インポートする必要があります。

  • Configuration Manager コネクタを作成した後、その管理パックの選択を変更することはできません。 その代わり、このコネクタを削除し、必要な管理パック用の新しいコネクタを作成する必要があります。

  • 管理パックを確実に削除するには、削除する管理パックを使用するように構成されているすべてのコネクタを削除してから、管理パックを削除します。

    カスタム Configurations Manager コネクタ管理パックを削除すると、Service Manager は、管理パックのインポート中に作成されたすべての関連するステージング テーブルの削除を試みます。 次に、Service Manager は、管理パックの Uninstall セクションで定義されているすべてのスクリプトを実行します。

  • 他の管理パックとは異なり、カスタム Configuration Manager コネクタ管理パックはバージョン管理できません。 新しいバージョンの管理パックをインポートすることはできますが、 管理パックのコネクタの構成が無視されるか、検証エラーが発生し、エラーがイベント ログに記録されます。

カスタム Configuration Manager コネクタ構成管理パックを作成する

カスタムの Configuration Manager コネクタの構成管理パックの構造は、既定の Configuration Manager コネクタ管理パックと似たものにします。 データのインポート方法と適用方法を指定する DataProviderDataConsumer の 2 つのオブジェクト テンプレートが含まれている必要があります。

DataProvider セクション

DataProvider セクションには、Configuration Manager から LinkingFramework のステージング テーブルにデータをインポートするときに必要な、インポートするデータなどの情報が表示されます。 DataProvider セクションには、Configuration Manager サイト データベースで実行されるクエリ、ステージング テーブル作成のディレクティブ、カスタム SQL スクリプト、および透かしやバッチ処理などの増分同期に関連する情報が含まれています。

DataConsumer セクション

DataConsumer セクションでは、ステージング テーブルからデータを読み取り、ServiceManager データベースのインスタンス空間 (EntitiesRelationships など) に書き込む方法について説明DataConsumer セクションには、ステージング テーブルで実行されるクエリ、Service Manager タイプ システムへのマッピング、カスタム SQL スクリプト、および透かしやバッチ処理などの増分同期に関連する情報が含まれています。

DataProvider および DataConsumer オブジェクト テンプレート セクションの構造

基本的に、 DataProviderDataConsumer は、プロジェクション型を対象にしているオブジェクト テンプレートです。 次のコードは、 DataProvider セクションと DataConsumer セクションの一般的な構造を示しています。

<TypeProjection ID="System.LinkingFramework.DataConnector.Projection" Accessibility="Public" Type="System.LinkingFramework.DataConnector">
          <Component Alias="DataTable" Path="$Context/Path[Relationship='System.LinkingFramework.ConnectorEmbedsTables' TypeConstraint='System.LinkingFramework.DataTable']$">
            <Component Alias="Field" Path="$Context/Path[Relationship='System.LinkingFramework.TableEmbedsFields']$" />
          </Component>
          <Component Alias="DataCollection" Path="$Context/Path[Relationship='System.LinkingFramework.ConnectorEmbedsCollections' TypeConstraint='System.LinkingFramework.DataCollection']$" />
 </TypeProjection>

このコードにある DataTableFieldDataCollection の定義は次のとおりです。

  • DataTableにする必要があります。 データの転送に定義される最小のデータ単位。 これは、外部データ ソースから取得するデータの宣言です。 また、異なるデータ テーブル間の依存関係、およびデータのバッチ処理、ウォーターマーク、クリーンアップがいつ終了するかも定義します。

  • Fieldにする必要があります。 データ テーブルの単一の列。

  • DataCollectionにする必要があります。 1 つのデータ転送ジョブまたはセッションで転送されるデータ テーブルのセット。 このデータ コレクションに含まれるデータ テーブルを定義します。

カスタム管理パックのプロパティ

次の表で、カスタムの Configuration Manager コネクタ構成管理パックの各プロパティについて詳しく説明します。 カスタムの管理パックを作成するときに、参考にしてください。

プロパティ 予測値 インポート後の検証
ID サンプルで示されているように、 DataProviderDataConsumer テンプレートの両方について はい
DataConnector プロパティ
DataConnectorName DataProvider テンプレートと DataConsumer テンプレートの両方で、サンプルの値と同じです はい
IsProvider DataProvider テンプレート - True

DataConsumer テンプレート - False
はい
SolutionName コメントです。 たとえば、インポートするデータの種類を示します。 同じソリューション名が既に使用されている管理パックをインポートしようとすると、エラーが発生し、エラーはイベント ログに記録されます。
Entrypoint、EntryAssembly 、WinformUIAssembly 上記サンプルの値と同じ
InstallSQLScripts セクション ステージング テーブルがセットアップされた後に実行する必要がある SQL スクリプト。 通常は、ステージング テーブルのデータを表示するビューを構成するために、 DataConsumer テンプレートで使用されます。

<Script></Script> タグの間で囲まれているものはすべて、有効な SQL スクリプトであることが想定されています。 したがって、コメントの場合は、標準の XML コメント タグではなく、/**/の複数行コメント区切り記号を使用する必要があります。
検証なし。 管理パックで宣言したテーブル以外のテーブルが上書きまたは変更されないように、カスタムのテーブル名を使用してください。
UnInstallSQLScripts セクション Service Manager コンソールで Configuration Manager コネクタ管理パックを削除した後に実行する必要がある SQL スクリプト。

<Script></Script> タグの間で囲まれているものはすべて、有効な SQL スクリプトであることが想定されています。 したがって、コメントの場合は、標準の XML コメント タグではなく、/**/の複数行コメント区切り記号を使用する必要があります。
検証なし。 管理パックで宣言したテーブル以外のテーブルが上書きまたは変更されないように、カスタムのテーブル名を使用してください。
DisableParallelProcessing True
DataTable プロパティ
DataName データのインポート元のテーブル。 これはユーザー インターフェイス (UI) で使用され、クエリでは使用されません。
StageTableName ステージング テーブルの名前。 この名前は一意である必要があります。 同じテーブル名が既に使用されている管理パックをインポートしようとすると、エラーが発生し、エラーはイベント ログに記録されます。
WatermarkField rowversion 列の名前。
WatermarkType 次のいずれかの値になります。

- 0- DateTime 型を示します
- 1- Timestamp 型を示します
- (-1)-ウォーターマークなしを示します。この場合、 WatermarkField は省略可能になります
その他の種類の透かしはサポートされていません。
BatchIdField 選択度の高い列の名前。ステージング テーブルをインポートするときに増分データをバッチに分割するために使用します。
BatchIdType 次のいずれかの値になります。

- 0-Int
- (-1)-バッチ処理なし。その場合、 BatchIdField は省略可能になります
整数列
BatchIdSize バッチ処理する場合のバッチのサイズ。 大きな数値にするほど、多くのデータが同時に読み取りまたは書き込まれます。 推奨値は 500 です。 整数列
UseCache True
GroomType 次のいずれかの値になります。

- 1- ステージング テーブル内のデータは、Service Manager データベースに転送された後でクリーンアップできます。
- ステージング テーブル内のデータは、Configuration Manager データベースで削除済みとしてマークされ、Service Manager コネクタの同期のために Service Manager データベースでも削除された後にのみクリーンアップされます。
QueryString 要求されたデータを取得するために Configuration Manager 2007 で使用される実際のクエリ。 次の形式を使用する必要があります。

SELECT ...

FROM ...

WHERE ...

ORDER BY ...

WHERE 句には、 $COLLECTIONLIST トークンを含めることができます。 このトークンは、同期中に、System Center Configuration Manager コネクタ ウィザードで指定されたコレクションに置き換えられます。

Configuration Manager SCCM_Ext.* ビューによって公開されるデータは、インポートでサポートされています。 標準の sms_def.mof 拡張機能、または noidmifs を使用して、このデータを拡張できます。 その他のテーブルはサポートされていません。

特に、サブクエリはサポートされていませんが、他のテーブルへの結合はサポートされています。
検証なし。 すべてのクエリには、値が U または DのLfx_Status列があり、行が Update 操作と Delete 操作のどちらを表しているかを示します。
CollectionName データ テーブルのグループの名前。一意の名前でなければなりません。 同じコレクション内のテーブルは相互に依存できません。 同じコレクション名が既に使用されている管理パックをインポートしようとすると、エラーが発生し、エラーはイベント ログに記録されます。
PrimaryKeyName ステージング テーブルの固有のプライマリ キー名を宣言するセクション 同じキー名が既に使用されている管理パックをインポートしようとすると、エラーが発生し、エラーはイベント ログに記録されます。
DependOnDataTable この DataTable より前に同期させる必要がある DetaTable の名前。 通常、コンシューマー ビューのステージング テーブルがシステムによって読み取られる前に、ステージング テーブルを同期するために使用します。

複数のコレクションを使用している場合は、異なるコレクション内のテーブル間でのみ依存関係を表す必要があります。
検証なし
DataField プロパティ
Name、Type、AllowNull すべて型の列に必須のフィールド。 サポートされている型は、 intnvarchardatetimexmlです。 検証なし
PrimaryKeyACs、PrimaryKeyPosition 主キーの一部が主キーの左からの位置を示す場合。 Lfx は、内部で使用される列を 2 つ (Lfx_Status、Lfx_SourceId) を PK の最後に追加します。
Collation COLLATE 検証なし
DataCollection プロパティ
DataCollectionName DataTable プロパティで参照されるものと同じでなければなりません。 同じコレクション名が既に使用されている管理パックをインポートしようとすると、エラーが発生し、エラーはイベント ログに記録されます。
StagingName DataProvider template-DefaultCache で

DataConsumer テンプレートで-存在しない
検証なし
DataTables このコレクションを参照するテーブルの CSV (コンマ区切り値) 形式の一覧
設定 DataProvider では template-Not present

DataConsumer template-Indicates 型マッピング
次の構文でエスケープされた XML:

<TypeName>Microsoft.Windows.Computer</TypeName>

<MPName>Microsoft.Windows.Library</MPName>

<MPVersion>version of MP</MPVersion>

<MPToken>token for MP</MPToken>

カスタム Configuration Manager コネクタ構成管理パックのサンプル

Configuration Manager SCCM_Ext.vex_GS_PC_BIOS ビューからデータをインポートするスキーマ定義と Configuration Manager コネクタ管理パックのサンプルを次に示します。

これらの管理パックのプロパティの詳細については、この記事の前の表を参照してください。 実際のインポート処理に合わせて、Microsoft Visual Studio のエディターなどの XML エディターを使用して、サンプルを変更してください。

ホストされたクラスからデータをインポートする

ホストされるクラスを指定する場合、 DataConsumer テンプレートのビューには、親クラスのキー プロパティの列が含まれている必要があります。 このサンプルでは、BIOS 情報が含まれるクラスがコンピューターでホストされています。

この例では、Configuration Manager コネクタ構成管理パックには、 DataProvider セクションと DataConsumer セクションに 2 つのコレクションがあります。1 つ目はコンピューター データをインポートし、2 つ目は BIOS データをインポートします。

クラス定義


<ManagementPack xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ContentReadable="true" SchemaVersion="1.1" OriginalSchemaVersion="1.1">
  <Manifest>
    <Identity>
      <ID>SampleBIOSMP</ID>
      <Version>1.0.0.0</Version>
    </Identity>
    <Name>BIOS Class MP</Name>
    <References>
      <Reference Alias="System">
        <ID>System.Library</ID>
        <Version>7.0.5229.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="Windows">
        <ID>Microsoft.Windows.Library</ID>
        <Version>7.0.5229.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
    </References>
  </Manifest>
  <TypeDefinitions>
    <EntityTypes>
      <ClassTypes>
        <ClassType ID="HostedCustomClass" Accessibility="Public" Base="System!System.ConfigItem" Hosted="true" Abstract="false">
            <Property ID="SerialNumber" Type="string" Key="true"/>
        </ClassType>
      </ClassTypes>
      <RelationshipTypes>
        <RelationshipType ID="Microsoft.Windows.ComputerHostsBIOS" Accessibility="Public" Base="System!System.Hosting">
          <Source ID="Computer" Type="Windows!Microsoft.Windows.Computer" />
          <Target ID="BIOSClass" Type="HostedCustomClass" />
        </RelationshipType>      
      </RelationshipTypes>
    </EntityTypes>
  </TypeDefinitions>
</ManagementPack>

Configuration Manager コネクタ構成管理パック

<ManagementPack xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ContentReadable="true" SchemaVersion="1.1" OriginalSchemaVersion="1.1">
  <Manifest>
    <Identity>
      <ID>CnfgMgrBiosSample</ID>
      <Version>7.0.5229.0</Version>
    </Identity>
    <Name>CnfgMgrBiosSample</Name>
    <References>
      <Reference Alias="System">
        <ID>System.Library</ID>
        <Version>7.0.5229.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="LFX">
        <ID>ServiceManager.LinkingFramework.Library</ID>
        <Version>7.0.5229.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
    </References>
  </Manifest>
  <Templates>
    <ObjectTemplate ID="DataProvider.Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms" TypeID="LFX!System.LinkingFramework.DataConnector.Projection">
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/DataConnectorName$">
          Microsoft_EnterpriseManagement_ServiceManager_Connector_Sms
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/IsProvider$">
          True
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/SolutionName$">SampleBIOS</Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/EntryPoint$">
          Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms.SmsConnector
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/EntryAssembly$">
          Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms,
          Version="7.0.5000.0",
          Culture=neutral,
          PublicKeyToken="31bf3856ad364e35"
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/WinFormUIAssembly$">
          Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms.SmsConnector,   
          Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms, Version="7.0.5000.0", Culture=neutral,
          PublicKeyToken="31bf3856ad364e35"
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/InstallSQLScripts$"></Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/DisableParallelProcess$">
          True
      </Property>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">SCCM_Ext.Sample_vex_R_System</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/StageTableName$">Sample_SMS_vex_R_System</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">S.[rowversion]</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">1</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">S.[ResourceID]</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">2000</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">true</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/GroomType$">2</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
                            SELECT S.ResourceID,
                                S.ChangeAction as Lfx_Status,
                                S.Netbios_Name0,
                                S.Resource_Domain_OR_Workgr0
                            FROM SCCM_Ext.vex_R_System S
                            INNER JOIN SCCM_Ext.vex_FullCollectionMembership CM
                                ON S.ResourceID = CM.ResourceID
                            INNER JOIN SCCM_Ext.vex_Collection C
                                ON C.CollectionID = CM.CollectionID
                            WHERE ((S.ChangeAction = 'U' AND S.Client_Type0 != 3 AND S.Hardware_ID0 IS NOT NULL)
                                  OR S.ChangeAction = 'D')
                                  AND $COLLECTIONLIST
                            ORDER BY S.rowversion
                   ]]>
</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">BIOSComputers</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/PrimaryKeyName$">[Sample_SMS_PK_v_R_SYSTEM]</Property>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[ResourceID]</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyPosition$">0</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyAcs$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">Netbios_Name0</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">64</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">Resource_Domain_OR_Workgr0</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">255</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
        </Object>
      </Object>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">SCCM_Ext.Sample_vex_GS_COMPUTER_SYSTEM</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/StageTableName$">Sample_SMS_vex_GS_COMPUTER_SYSTEM</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">CS.[rowversion]</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">1</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">CS.[ResourceID]</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">2000</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">true</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/GroomType$">2</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
                            SELECT CS.ResourceID,
                                    CS.GroupKey,
                                    CS.ChangeAction as Lfx_Status,
                                    CS.Name0,
                                    CS.Domain0
                            FROM SCCM_Ext.vex_GS_COMPUTER_SYSTEM CS
                            INNER JOIN SCCM_Ext.vex_FullCollectionMembership CM
                                ON CS.ResourceID = CM.ResourceID
                            INNER JOIN SCCM_Ext.vex_Collection C
                                ON C.CollectionID = CM.CollectionID  
                            WHERE $COLLECTIONLIST
                            ORDER BY CS.rowversion
                   ]]>
</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">BIOSComputers</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/PrimaryKeyName$">[Sample_SMS_PK_v_GS_COMPUTER_SYSTEM]</Property>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[ResourceID]</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyPosition$">0</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyAcs$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[GroupKey]</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyPosition$">1</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyAcs$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[Name0]</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">64</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[Domain0]</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">32</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
        </Object>
      </Object>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">SCCM_Ext.vex_GS_PC_BIOS</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/StageTableName$">Sample_SMS_vex_GS_PC_BIOS</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">S.[rowversion]</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">1</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">S.[ResourceID]</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">2000</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">true</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/GroomType$">2</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
                      SELECT S.ChangeAction as Lfx_Status,
                      S.ResourceID,
                      S.BatchingKey,
                      S.GroupKey,
                      S.SerialNumber0
                      FROM SCCM_Ext.vex_GS_PC_BIOS S
                      INNER JOIN SCCM_Ext.vex_FullCollectionMembership CM
                        ON S.ResourceID = CM.ResourceID
                      INNER JOIN SCCM_Ext.vex_Collection C
                        ON C.CollectionID = CM.CollectionID
                      WHERE C.ChangeAction = 'U' AND CM.ChangeAction = 'U' AND $COLLECTIONLIST
                      ORDER BY S.rowversion
                   ]]>
        </Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">Sample_SMS_PROVIDER_BIOS_COLLECTION</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/PrimaryKeyName$">[Sample_SMS_PK_v_GS_BIOS1]</Property>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">[ResourceID]</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyPosition$">0</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/PrimaryKeyAcs$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">BatchingKey</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">false</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">GroupKey</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">Int</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
        </Object>
        <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.TableEmbedsFields' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.Field']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Name$">SerialNumber0</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Type$">NVarChar</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Size$">34</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/Collation$">DATABASE_DEFAULT</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.Field']/AllowNull$">true</Property>
        </Object>
      </Object>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsCollections' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataCollectionName$">BIOSComputers</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/StagingName$">DefaultCache</Property>
          <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataTables$">SCCM_Ext.Sample_vex_R_System,SCCM_Ext.Sample_vex_GS_COMPUTER_SYSTEM</Property>
      </Object>
      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsCollections' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataCollectionName$">Sample_SMS_PROVIDER_BIOS_COLLECTION</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/StagingName$">DefaultCache</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataTables$">SCCM_Ext.vex_GS_PC_BIOS</Property>
      </Object>
    </ObjectTemplate>

    <ObjectTemplate ID="DataConsumer.Microsoft.EnterpriseManagement.ServiceManager.Connector.Sms" TypeID="LFX!System.LinkingFramework.DataConnector.Projection">
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/DataConnectorName$">
          MomStore
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/IsProvider$">
          False
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/SolutionName$">SampleBIOS</Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/EntryPoint$">
  Microsoft.EnterpriseManagement.ServiceManager.Linking.Consumer.OperationalStore.OperationalStoreConsumer
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/EntryAssembly$">
  Microsoft.EnterpriseManagement.ServiceManager.Linking.Consumer.OperationalStore,
  Version="7.0.5000.0",
  Culture=neutral,
  PublicKeyToken="31bf3856ad364e35"
      </Property>
      <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/InstallSQLScripts$"><![CDATA[
                        <Script>
                             if not object_id('[LFXSTG].[v_Sample_SMS_BIOSComputer]') is null
                                drop view [LFXSTG].[v_Sample_SMS_BIOSComputer];
                             exec ('
                                CREATE VIEW [LFXSTG].[v_Sample_SMS_BIOSComputer] AS
                                    SELECT S.Lfx_RowId,
                                           S.Lfx_SourceID,
                                           S.Lfx_Timestamp,
                                           S.Lfx_Status,
                                           CS.Name0 AS ''DisplayName'',
                                           COALESCE(CS.Name0, S.Netbios_Name0)
                                    + ''.'' + COALESCE(CS.Domain0, S.Resource_Domain_OR_Workgr0) AS ''PrincipalName''
                                    FROM LFXSTG.Sample_SMS_vex_R_System S
                                    INNER JOIN LFXSTG.Sample_SMS_vex_GS_COMPUTER_SYSTEM CS
                                         ON S.ResourceID = CS.ResourceID AND S.Lfx_SourceId = CS.Lfx_SourceId
                                    WHERE S.Netbios_Name0 IS NOT NULL
                                        AND S.Resource_Domain_OR_Workgr0 IS NOT NULL
                                ');
                        </Script>

                        <Script>
                            if not object_id('[LFXSTG].[v_Sample_BIOS]') is null
                                drop view [LFXSTG].[v_Sample_BIOS]
                            exec ('
                                CREATE VIEW [LFXSTG].[v_Sample_BIOS] AS
                                    SELECT P.Lfx_RowId AS Lfx_RowId,
                                        P.Lfx_SourceId,
                                        P.Lfx_Timestamp AS Lfx_Timestamp,
                                        P.Lfx_Status as Lfx_Status,
                                        P.SerialNumber0 AS ''SerialNumber'',
                                        COALESCE(CS.Name0, S.Netbios_Name0) + ''.'' + COALESCE(CS.Domain0, S.Resource_Domain_OR_Workgr0) AS ''PrincipalName''
                                    FROM [LFXSTG].Sample_SMS_vex_GS_PC_BIOS P
                                    INNER JOIN [LFXSTG]. Sample_SMS_vex_R_System S
                                        ON P.ResourceID=S.ResourceID AND P.Lfx_SourceId = S.Lfx_SourceId
                                    INNER JOIN [LFXSTG]. Sample_SMS_vex_GS_COMPUTER_SYSTEM CS
                                        ON S.ResourceID=CS.ResourceID
                                           AND S.Lfx_SourceId = CS.Lfx_SourceId
                                ')
                        </Script>
                   ]]>
        </Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataConnector']/UninstallSQLScripts$"><![CDATA[
                       <Script>
                            if not object_id('[LFXSTG].[v_Sample_SMS_BIOSComputer]') is null
                                drop view [LFXSTG].[v_Sample_SMS_BIOSComputer];
               </Script>

                       <Script>
                            if not object_id('[LFXSTG].[v_Sample_BIOS]') IS NULL
                                drop view [LFXSTG].[v_Sample_BIOS];
               </Script>
                   ]]>
        </Property>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">Sample_SMS_Computer</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">E.Lfx_Timestamp</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">E.Lfx_RowId</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">500</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">false</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
                            SELECT * FROM [LFXSTG].v_Sample_SMS_BIOSComputer E
                    ]]>
        </Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">Sample_SMS_Computers_COLLECTION</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DependOnDataTable$">SCCM_Ext.Sample_vex_GS_COMPUTER_SYSTEM,SCCM_Ext.Sample_vex_R_System</Property>
      </Object>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsTables' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataTable']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DataName$">Sample_SMS_BIOS_CONSUMER_VIEW</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkField$">C.Lfx_Timestamp</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/WatermarkType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdField$">C.Lfx_RowId</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdType$">0</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/BatchIdSize$">500</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/UseCache$">False</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/QueryString$"><![CDATA[
                        select C.* from [LFXSTG].v_Sample_BIOS C
                   ]]>
        </Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/CollectionName$">Sample_SMS_BIOS_CONSUMER_COLLECTION</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataTable']/DependOnDataTable$">SCCM_Ext.vex_GS_PC_BIOS, Sample_SMS_Computer</Property>
      </Object>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsCollections' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataCollectionName$">Sample_SMS_Computers_COLLECTION</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataTables$">Sample_SMS_Computer</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/Settings$"><![CDATA[
<TypeName xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">Microsoft.Windows.Computer</TypeName>
<MPName xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">Microsoft.Windows.Library</MPName>
<MPVersion xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">7.0.5229.0</MPVersion>
<MPToken xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">31bf3856ad364e35</MPToken>
]]>
</Property>
      </Object>

      <Object Path="$Context/Path[Relationship='LFX!System.LinkingFramework.ConnectorEmbedsCollections' SeedRole='Source' TypeConstraint='LFX!System.LinkingFramework.DataCollection']$">
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataCollectionName$">Sample_SMS_BIOS_CONSUMER_COLLECTION</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/DataTables$">Sample_SMS_BIOS_CONSUMER_VIEW</Property>
        <Property Path="$Context/Property[Type='LFX!System.LinkingFramework.DataCollection']/Settings$"><![CDATA[
<TypeName xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">HostedCustomClass</TypeName>
<MPName xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">SampleBIOSMP</MPName>
<MPVersion xmlns="https://schemas.microsoft.com/sdm/servicedesk/linking/2005/09">1.0.0.0</MPVersion>
        ]]>
        </Property>
      </Object>
    </ObjectTemplate>
  </Templates>
</ManagementPack>

次のステップ