Host Integration Server と WMI を使用した LU プールの複製

Microsoft Visual Basic Scripting Edition (VBScript) で記述された VBScript ImportExport サンプル プログラムは、Host Integration Server SDK の一部として提供されています。 このツールを使用すると、MOF 形式の Host Integration Server Management Instrumentation (WMI) を使用して、Windows からの構成情報をエクスポートしてテキスト ファイルに保存できます。 このテキスト ファイルは、このサンプル プログラムを使用して変更およびインポートして、構成情報を変更できます。

WMI の使用に関する潜在的な問題は、このサンプル プログラムを使用して説明できる重複する LU プールで発生する可能性があります。 通常、MOF ファイルのエクスポートと再インポートでは重複は作成されない。 ただし、Host Integration Server WMI プロバイダーを使用すると、プールからワークステーションへの関連付けインスタンスを複製できます。これは、設計上、この種類のオブジェクトの重複が許可されるからです。 同じプールを同じワークステーションまたはユーザーに複数回関連付けできます。 これは、クライアントのセッションを作成するためにエミュレーターによって使用されます。 そのため、このような関連付けは別の関連付けから識別できません。 WMISNA プロバイダー (WMISNA.DLL) は、同じペア (Pool, Wks) との関連付けが既に存在する場合でも、常にこれらの型の新しい関連付けを作成します。 このオブジェクト型は、この特定のケースでのみ使用できます。 ただし、アプリケーションで重複を作成しない場合は、WMI (Import/Export サンプルなど) を使用して開発されたアプリケーションで問題が発生する可能性があります。

次のシーケンスは、ImportExport サンプルを使用してこの問題を示しています。

  1. プール ワークステーションの関連付けを作成するには、SNA マネージャーを使用します。

  2. ImportExport ユーティリティを使用して、SNA 構成を MOF ファイルにエクスポートします。

  3. ImportExport ユーティリティを使用して、同じ MOF ファイルを再度インポートします。

  4. 重複するプールワークステーションの関連付けが作成されます。

    その結果、クライアントがインポート/エクスポート サンプル、またはプールとワークステーション間の関連付けを持つ Host Integration Server 構成で WMI を使用して開発された同様のアプリケーションを使用すると、サンプルの実行後に関連付けの数が実質的に 2 倍になります。 ImportExport サンプルを使用する回避策は次のようになります。

  5. 構成を MOF ファイルにエクスポートします。

  6. 作成された MOF ファイルからプールとワークステーションの関連付けを削除します。

  7. MOF ファイルを再インポートします。

    ImportExport サンプルまたは WMI を使用して開発された同様のアプリケーションを使用してドメイン間で構成をインポートする場合は、手順 2 を無視する必要があります。 通常、WMI アプリケーションでは、この条件が発生しないので、既存の構成を空の構成ファイルにコピーする必要があります。