如何使用托管代码修改Configuration Manager对象

若要使用托管 SMS 提供程序修改Configuration Manager对象实例,请使用对象的 IResultObject 接口进行修改。 然后调用 IResultObject.Put 方法来提交更改。

注意

对象的 IResultObject 接口可以通过 WqlConnectionManager.GetInstance 方法或其他查询获取。 有关使用异步查询的示例,请参阅如何使用托管代码执行异步Configuration Manager查询

修改Configuration Manager对象

  1. 设置与 SMS 提供程序的连接。 有关详细信息,请参阅如何使用托管代码连接到 Configuration Manager 中的 SMS 提供程序

  2. 使用在步骤 1 中获取的 WqlConnectionManager 对象,调用 GetInstance 以获取所需对象的 IResultObject

  3. 使用 IResultObject 对对象进行更改。

  4. 使用 IResultObject 对象 Put 方法提交对 SMS 提供程序的更改。

示例

以下示例函数根据提供的包标识符和说明更新包的说明。

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


public void ModifyPackageDescription(WqlConnectionManager connection, string packageID, string description)  
{  
    try  
    {  
        IResultObject package = connection.GetInstance(@"SMS_Package.PackageID='" + packageID + "'");  
        Console.WriteLine("Package Name: " + package["Name"].StringValue);  
        Console.WriteLine("Current Description: " + package["Description"].StringValue);  

        package["Description"].StringValue = description;  

        package.Put();  

        Console.WriteLine("New description: " + package["Description"].StringValue);  
    }  
    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to get package. Error: " + ex.Message);  
        throw;  
    }  
}  

此示例方法具有以下参数:

参数 类型 说明
connection WqlConnectionManager 与 SMS 提供程序的有效连接。

编译代码

命名空间

System

System.Collections.Generic

System.ComponentModel

Microsoft。ConfigurationManagement.ManagementProvider

Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

可靠编程

可以引发Configuration Manager异常是 SmsConnectionExceptionSmsQueryException。 这些可与 SmsException 一起捕获。

另请参阅

对象概述Configuration Manager延迟属性
如何使用托管代码调用 Configuration Manager 对象类方法
如何使用托管代码连接到Configuration Manager提供程序
如何使用托管代码创建Configuration Manager对象
如何使用托管代码执行异步Configuration Manager查询
如何使用托管代码执行同步Configuration Manager查询
如何使用托管代码读取Configuration Manager对象
如何使用托管代码读取延迟属性