コンテキスト オブジェクトは、SMS プロバイダーに追加情報を提供するために、Configuration Managerで使用されます。 通常、コンテキスト修飾子を使用して、SMS プロバイダーのコンテキスト情報 (アプリケーションの名前など) を指定します。 SMS プロバイダーと個々の SMS プロバイダー オブジェクトに接続する場合は、コンテキスト修飾子を使用できます。
マネージ コード
マネージド SMS プロバイダー ライブラリを使用する場合は、 ConnectionManagerBase.Context プロパティを使用してコンテキスト修飾子を指定します。 詳細については、「マネージド コードを使用してConfiguration Manager コンテキスト修飾子を追加する方法」を参照してください。
VBScript
VBScript を使用する場合は、 SWBemNamedValue インターフェイス セットを使用して、名前付き値オブジェクトのコレクションとしてコンテキスト修飾子を指定します。 詳細については、「WMI を使用してConfiguration Managerコンテキスト修飾子を追加する方法」を参照してください。
コンテキスト修飾子
次の表には、SMS プロバイダーによって使用されるコンテキスト修飾子 (名前付き値) が含まれています。
SessionHandle
など、ほとんどの修飾子は SMS プロバイダーの特定の機能領域でのみ使用されますが、LocaleID
、MachineName
、ApplicationName
はアプリケーションの用途に適しています。
コンテキスト修飾子 | 説明 |
---|---|
ApplicationName |
呼び出しを行ったアプリケーションを識別します。 |
ContextHandle |
SMS プロバイダーがキャッシュされたコンテキスト修飾子を格納している場所を識別します。 |
InstanceCount |
ExecQuery と CreateInstanceEnum から返されるインスタンスの数を制限します。 |
LimitToCollectionIDs |
リソース クエリの結果を、名前付きコレクションのメンバーに制限します。 |
LocaleID |
使用するコード ページを識別します。 |
MachineName |
アプリケーションを実行しているコンピューターを識別します。 |
QueryQualifiers |
セキュリティで保護されたオブジェクトに対してクエリを実行するときに SecurityVerbs ビット フラグを返します。 |
SessionHandle |
アプリケーションのサイト コントロール ファイルのコピーをConfiguration Managerに識別します。 |
ApplicationName
ApplicationName
コンテキスト修飾子は、呼び出しを行ったアプリケーションの名前を識別する文字列値です。 アプリケーションは監査に使用されるため、 ApplicationName
を指定する必要があります。 アプリケーションの名前を指定しない場合は、値 Unknown が使用されます。 SMS_StatusMessage::RaiseErrorStatusMsg などのレイズ ステータス メッセージ メソッドのいずれかを呼び出す場合、または呼び出しが失敗する場合は、ApplicationName
値を指定する必要があります。
ContextHandle
ContextHandle
コンテキスト修飾子は、SMS プロバイダーがキャッシュされたコンテキスト修飾子を格納している場所を識別する文字列値です。 マネージド SMS プロバイダーは、データ転送を管理します。 VBScript を使用する場合は、次の手順を使用して、ネットワーク経由で渡されるデータの量を減らすことができます。
SWBemNamedValue 値セットを作成します。
修飾子をコンテキスト オブジェクトに追加します。 詳細については、「WMI を使用してConfiguration Managerコンテキスト修飾子を追加する方法」を参照してください。
GetContextHandle メソッドを呼び出して、修飾子をサーバーにキャッシュします。 SMS プロバイダーは、GetContextHandle を呼び出すときに ExecMethod のパラメーターとして渡すコンテキスト オブジェクトをキャッシュします。
コンテキスト オブジェクトからすべての修飾子を削除します。
ContextHandle
修飾子と値をコンテキスト オブジェクトに追加します。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 プロバイダーの基礎