如何使用 WMI 添加Configuration Manager上下文限定符

在 Configuration Manager 中,可以通过创建 SWbemNamedValueSet 值集 (来保存上下文限定符,将上下文限定符添加到 SWbemServices) 或对象 (SWbemObject) 的连接。 然后,将 SWbemNamedValueSet 值设置为 connection 和 object 方法的参数。

在 Configuration Manager 中,可以提供应用程序名称 (ApplicationName) 、计算机名称 (MachineName) 和区域设置标识符 (LocaleID) 。

在大多数情况下,不需要上下文限定符。 主要例外是访问需要站点控制文件来设置会话信息。 有关详细信息,请参阅关于Configuration Manager站点控制文件

添加Configuration Manager上下文限定符

  1. 设置与 SMS 提供程序的连接。 有关详细信息,请参阅 SMS 提供程序基础知识

  2. 创建 WbemScripting.SWbemNamedValueSet 对象并添加所需的上下文限定符。

  3. 使用在步骤 2 中创建的 SWbemNamedValue 值集将上下文限定符传递给连接和对象操作调用。

示例

以下 VBScript 示例创建 SWbemNamedValueSet 值集并添加提供的上下文限定符。 下面的代码示例演示如何调用 方法,以便在 SMS_Package 包对象 Put 方法调用中使用。 有关Configuration Manager对象的详细信息,请参阅对象概述

Dim context

Set context = CreateContextQualifiers("My application" , "My Computer" , "MS\1033")

package.Put_ , context

有关调用示例代码的信息,请参阅调用Configuration Manager代码片段


Function CreateContextQualifiers(applicationName, machineName, localeID)  
    On Error Resume next  
    Dim smsContext  

    set smsContext = CreateObject("WbemScripting.SWbemNamedValueSet")  

    ' Add the context qualifiers to the set.  
    smsContext.Add "LocaleID", localeID  
    smsContext.Add "MachineName", machineName  
    smsContext.Add "ApplicationName", applicationName  

    Set CreateContextQualifiers = smsContext  

      If Err.Number<>0 Then  
        WScript.Echo Err.Description  
        CreateContextQualifiers = null  
        Exit Function  
    End If  
End Function  

示例方法具有以下参数:

参数 类型 说明
applicationName - String ApplicationName 上下文限定符。
machineName - String 计算机名称限定符。
localeID - String 区域设置标识符。 例如,MS\1033 是英语 (美国) 。 如果需要非美国区域设置。安装,可以从 SMS_Identification 服务器 WMI 类LocaleID 属性获取它。

编译代码

此 VBScript 示例需要:

可靠编程

有关错误处理的详细信息,请参阅关于Configuration Manager错误

.NET Framework 安全性

有关保护Configuration Manager应用程序的详细信息,请参阅Configuration Manager基于角色的管理

另请参阅

关于Configuration Manager站点控制文件
对象概述Configuration Manager上下文限定符
如何使用 WMI 连接到 Configuration Manager 中的短信提供程序
Windows Management Instrumentation