次の方法で共有


WMI 用スクリプト API を使用した修正済みクラスの取得

Scripting API for WMI を使用し、ローカライズされたクラス情報を取得または格納する場合、モニカーの一部としてロケールを指定します。 あるいは、strLocale パラメーターのロケール名を SWbemLocator.ConnectServer メソッドに指定できます。 修正後のクラスを読み書きするとき、呼び出すメソッドの iFlags パラメーターのフラグとして wbemFlagUseAmendedQualifiers を指定し、ローカライズされたクラス定義を使用することを示します。 PowerShell の場合、Get-WmiObject-locale パラメーターを使用し、ロケールを指定できます。

次のコード例からは、WMI スクリプティング モニカーまたは -locale パラメーターを使用し、ローカライズされたクラスを取得する方法がわかります。

Set objwbemobject = GetObject("winmgmts:[locale=ms_409]!root/test:myclass")

Get-WmiObject myclass -Namespace "root\test" -Locale "ms_409"

次のコード例では、ロケール パラメーターを設定し、wbemFlagUseAmendedQualifiers フラグを使用する方法がわかります。

Set Locator = CreateObject("WbemScripting.SWbemLocator")
Set service = Locator.ConnectServer(,"root\test", , , "ms_409")
Set objwbemobject = service.Get("myclass", wbemFlagUseAmendedQualifiers)

注意

シンクへのコールバックはクライアントが必要とするのと同じ認証レベルでは返されない可能性があるため、非同期ではなく半同期通信を使用することをお勧めします。 詳細については、メソッドの呼び出しに関するページを参照してください。

 

次の表には、wbemFlagUseAmendedQualifiers フラグを受け取るメソッドがまとめてあります。

同期メソッド 非同期メソッド
SWbemServices.SubclassesOf SWbemServices.SubclassesOfAsync
SWbemObject.Subclasses_ SWbemObject.SubclassesAsync_
SWbemServices.InstancesOf SWbemServices.InstancesOfAsync
SWbemObject.Instances_ SWbemObject.InstancesAsync_
SWbemServices.ExecQuery SWbemServices.ExecQueryAsync
SWbemServices.Get SWbemServices.GetAsync
SWbemObject.Put_ SWbemObject.PutAsync_
SWbemServices.ReferencesTo SWbemServices.ReferencesToAsync
SWbemObject.References_ SWbemObject.ReferencesAsync_
SWbemServices.AssociatorsOf SWbemServices.AssociatorsOfAsync
SWbemObject.Associators_ SWbemObject.AssociatorsAsync_