次の方法で共有


Configuration Manager コンテキスト修飾子

コンテキスト オブジェクトは、SMS プロバイダーに追加情報を提供するために、Configuration Managerで使用されます。 通常、コンテキスト修飾子を使用して、SMS プロバイダーのコンテキスト情報 (アプリケーションの名前など) を指定します。 SMS プロバイダーと個々の SMS プロバイダー オブジェクトに接続する場合は、コンテキスト修飾子を使用できます。

マネージ コード

マネージド SMS プロバイダー ライブラリを使用する場合は、 ConnectionManagerBase.Context プロパティを使用してコンテキスト修飾子を指定します。 詳細については、「マネージド コードを使用してConfiguration Manager コンテキスト修飾子を追加する方法」を参照してください。

VBScript

VBScript を使用する場合は、 SWBemNamedValue インターフェイス セットを使用して、名前付き値オブジェクトのコレクションとしてコンテキスト修飾子を指定します。 詳細については、「WMI を使用してConfiguration Managerコンテキスト修飾子を追加する方法」を参照してください。

コンテキスト修飾子

次の表には、SMS プロバイダーによって使用されるコンテキスト修飾子 (名前付き値) が含まれています。 SessionHandleなど、ほとんどの修飾子は SMS プロバイダーの特定の機能領域でのみ使用されますが、LocaleIDMachineNameApplicationNameはアプリケーションの用途に適しています。

コンテキスト修飾子 説明
ApplicationName 呼び出しを行ったアプリケーションを識別します。
ContextHandle SMS プロバイダーがキャッシュされたコンテキスト修飾子を格納している場所を識別します。
InstanceCount ExecQueryCreateInstanceEnum から返されるインスタンスの数を制限します。
LimitToCollectionIDs リソース クエリの結果を、名前付きコレクションのメンバーに制限します。
LocaleID 使用するコード ページを識別します。
MachineName アプリケーションを実行しているコンピューターを識別します。
QueryQualifiers セキュリティで保護されたオブジェクトに対してクエリを実行するときに SecurityVerbs ビット フラグを返します。
SessionHandle アプリケーションのサイト コントロール ファイルのコピーをConfiguration Managerに識別します。

ApplicationName

ApplicationName コンテキスト修飾子は、呼び出しを行ったアプリケーションの名前を識別する文字列値です。 アプリケーションは監査に使用されるため、 ApplicationName を指定する必要があります。 アプリケーションの名前を指定しない場合は、値 Unknown が使用されます。 SMS_StatusMessage::RaiseErrorStatusMsg などのレイズ ステータス メッセージ メソッドのいずれかを呼び出す場合、または呼び出しが失敗する場合は、ApplicationName値を指定する必要があります。

ContextHandle

ContextHandle コンテキスト修飾子は、SMS プロバイダーがキャッシュされたコンテキスト修飾子を格納している場所を識別する文字列値です。 マネージド SMS プロバイダーは、データ転送を管理します。 VBScript を使用する場合は、次の手順を使用して、ネットワーク経由で渡されるデータの量を減らすことができます。

  1. SWBemNamedValue 値セットを作成します。

  2. 修飾子をコンテキスト オブジェクトに追加します。 詳細については、「WMI を使用してConfiguration Managerコンテキスト修飾子を追加する方法」を参照してください。

  3. GetContextHandle メソッドを呼び出して、修飾子をサーバーにキャッシュします。 SMS プロバイダーは、GetContextHandle を呼び出すときに ExecMethod のパラメーターとして渡すコンテキスト オブジェクトをキャッシュします。

  4. コンテキスト オブジェクトからすべての修飾子を削除します。

  5. ContextHandle修飾子と値をコンテキスト オブジェクトに追加します。

  6. IWbemServices のすべての呼び出しでコンテキスト オブジェクトを渡します。

    アプリケーションを終了する前に 、ClearContextHandle メソッドを呼び出して、キャッシュされた修飾子を削除する必要があります。 必要な数の ContextHandle 値を作成し、それぞれにアプリケーションのさまざまな情報を提供できます。

注:

コンテキスト修飾子をキャッシュした後は、同じコンテキスト修飾子を異なる値でコンテキスト オブジェクトに追加することで、キャッシュされた値をオーバーライドできます。

InstanceCount

InstanceCount コンテキスト修飾子は、ExecQuery メソッドと CreateInstanceEnum メソッドから返されるインスタンスの数を制限するために使用される整数値です。 InstanceCountクエリまたは列挙子から返されるインスタンスの最大数に等しく設定します。 たとえば、 InstanceCount を 10 に設定すると、最大で 10 個のインスタンスが返されます。

LimitToCollectionIDs

LimitToCollectionIDs コンテキスト修飾子は、CollectionID値のリストを含む文字列配列です。 現在、指定できる CollectionID 値は 1 つだけです。 この修飾子を使用して、リソース クエリの結果を名前付きコレクションのメンバーに制限します。 リソース クエリは、 SMS_ResourceまたはSMS_Group から派生したクラスを含むクエリ です

ユーザーは、リソースが属するコレクションのインスタンス読み取りリソースのアクセス許可を持っている必要があります。 ユーザーがコレクションのクラス読み取りリソース権限を持っていない場合は、コレクションの制限を使用する必要があります。それ以外の場合、データは返されません。 Service Pack 1 以降の SMS 2.0 の場合、この制限はSMS_Groupから派生したクラスにのみ適用されます。

コレクションのクエリを実行するときに、この修飾子を使用することはできません。

LocaleID

LocaleID コンテキスト修飾子は、MS\x 形式の 16 進値または 10 進値を受け取る文字列値です。ここで、x はロケール ID です。 たとえば、英語の LocaleID 値を ms\0x0409 または ms\1033 として入力できます。 SMS プロバイダーは、Microsoft 形式を使用する LocaleID 値のみを受け入れます。 locale IDsの一覧は、Microsoft によって割り当てられたロケール ID にあります

米国以外のロケールが必要な場合。インストールでは、 SMS_Identification サーバー WMI クラスLocaleID プロパティから取得できます。

MachineName

MachineName コンテキスト修飾子は、アプリケーションを実行しているコンピューターを識別する文字列値です。 アプリケーションは監査に使用されるため、 MachineName を指定する必要があります。 コンピューター名を指定しない場合は、Unknown の値が使用されます。 SMS_StatusMessage::RaiseRawStatusMsg などのレイズ ステータス メッセージ メソッドのいずれかを呼び出す場合、または呼び出しが失敗する場合は、MachineName 値を指定する必要があります。

QueryQualifiers

QueryQualifiers コンテキスト修飾子は、セキュリティで保護されたオブジェクト (SMS_SiteやSMS_Packageなど) に対してクエリを実行するときに SecurityVerbs ビット フラグを返すために使用されるブール値です。 セキュリティで保護されていないオブジェクトのクエリを実行するときに QueryQualifiers を使用するとエラーが発生することに注意してください。 既定では、SecurityVerbs フラグはクエリと共に返されません。 フラグを返す場合は、この修飾子を作成し、その値を true に設定する必要があります。 QueryQualifiersを作成しないのは、その値を false に設定するのと同じです。

SessionHandle

SessionHandle コンテキスト修飾子は、GetSessionHandle メソッドの out パラメーターとして返される文字列値です。 文字列は、Configuration Managerするサイト コントロール ファイルのアプリケーションのコピーを識別する一意の GUID です。 このメカニズムを使用して、サイト コントロール ファイルを変更し、サイト コントロール ファイルを同時に変更している他のアプリケーションとのデータ競合を減らす必要があります。 SessionHandle値を指定しない場合、アプリケーションはサイトコントロールファイルのグローバルコピーを変更します。これは、アプリケーションが互いのデータを上書きする保護を持っていません。

注:

マネージド SMS プロバイダーを使用している場合は、サイトコントロール ファイル セッション管理が管理されます。

関連項目

マネージド コードを使用してConfiguration Manager コンテキスト修飾子を追加する方法
WMI を使用してConfiguration Manager コンテキスト修飾子を追加する方法
SMS プロバイダーの基礎