使用 WMI 的脚本 API 检索修订后的类

如果使用 WMI 的脚本 API 检索或存储本地化类信息,请将区域设置指定为名字对象的一部分。 或者,可以将 strLocale 参数中的区域设置名称提供给 SWbemLocator.ConnectServer 方法。 读取或写入修订后的类时,通过指定 wbemFlagUseAmendedQualifiers 作为所调用方法 的 iFlags 参数的标志,指示要使用本地化类定义。 对于 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_