如何启用或禁用软件汇报客户端代理

在 Configuration Manager 中,通过修改站点控制文件设置来启用或禁用软件汇报客户端代理。

启用或禁用软件汇报客户端代理

  1. 设置与 SMS 提供程序的连接。

  2. 使用 SMS_SCI_ClientComp 类连接到站点控制文件的“软件汇报客户端代理”部分。

  3. 循环访问可用属性的数组,根据需要进行更改。

  4. 提交对站点控制文件的更改。

示例

以下示例方法通过使用 SMS_SCI_ClientComp 类连接到站点控制文件和更改属性来启用或禁用 Software 汇报 客户端代理。

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


Sub EnableDisableSUMClientAgent(swbemServices,     _  
                                swbemContext,      _  
                                enableDisableFlag, _  
                                siteToChange )  

    ' Load site control file and get software updates client component section.  
    swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteToChange & """", "Refresh", , , swbemContext  
    Set objSWbemInst = swbemServices.Get("SMS_SCI_ClientComp.Filetype=1,Itemtype='Client Component',Sitecode='" & siteToChange & "',ItemName='Software Updates'", , swbemContext)  

    ' Display the Software Updates Client Agent settings before changing the properties.  
    Wscript.Echo " "  
    Wscript.Echo "Properties - Before Change"  
    Wscript.Echo "---------------------------"  
    Wscript.Echo objSWbemInst.ClientComponentName  
    Wscript.Echo objSWbemInst.Flags & " (0 = Disabled, 1 = Enabled)"  

    ' Set Software Updates Client Agent by setting Flags value to 0 or 1 by using the enableDisableFlag variable.  
    objSWbemInst.Flags = enableDisableFlag  

    ' Save new Software Updates Client Agent settings.  
    objSWbemInst.Put_ , swbemContext  
    swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteToChange & """", "Commit", , , swbemContext  

    ' Refresh in-memory copy of the site control file and get the software updates client component section.  
    swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteToChange & """", "Refresh", , , swbemContext  
    Set objSWbemInst = swbemServices.Get("SMS_SCI_ClientComp.Filetype=1,Itemtype='Client Component',Sitecode='" & siteToChange & "',ItemName='Software Updates'", , swbemContext)  

    ' Display the Software Updates Client Agent settings after changing the properties.  
    Wscript.Echo " "  
    Wscript.Echo "Properties - After Change"  
    Wscript.Echo "---------------------------"  
    Wscript.Echo objSWbemInst.ClientComponentName  
    Wscript.Echo objSWbemInst.Flags & " (0 = Disabled, 1 = Enabled)"  

End Sub  


public void EnableDisableSUMClientAgent(WqlConnectionManager connection,   
                                        string enableDisableFlag,   
                                        string siteCode)  
{  
    try  
    {  
        IResultObject siteDefinition = connection.GetInstance(@"SMS_SCI_ClientComp.FileType=1,ItemType='Client Component',SiteCode='" + siteCode + "',ItemName='Software Updates'");  

        // Display Software Updates Client Agent settings before changing the properties.  
        Console.WriteLine();  
        Console.WriteLine("Properties - Before Change");  
        Console.WriteLine("---------------------------");  
        Console.WriteLine(siteDefinition["ClientComponentName"].StringValue);  
        Console.WriteLine(siteDefinition["Flags"].StringValue + " (0 = Disabled, 1 = Enabled)");  

        // Set Software Updates Client Agent by setting "Flags" value to 0 or 1 by using the enableDisableFlag variable.  
        siteDefinition["Flags"].StringValue = enableDisableFlag;  

        // Save the settings.  
        siteDefinition.Put();  

        // Verify the change by reconnecting and getting the value again.  
        IResultObject siteDefinition2 = connection.GetInstance(@"SMS_SCI_ClientComp.FileType=1,ItemType='Client Component',SiteCode='" + siteCode + "',ItemName='Software Updates'");  

        // Display Software Updates Client Agent settings after changing the properties.  
        Console.WriteLine();  
        Console.WriteLine("Properties - After Change");  
        Console.WriteLine("--------------------------");  
        Console.WriteLine(siteDefinition2["ClientComponentName"].StringValue);  
        Console.WriteLine(siteDefinition2["Flags"].StringValue + " (0 = Disabled, 1 = Enabled)");  
    }  

    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed. Error: " + ex.InnerException.Message);  
        throw;  
    }  

}  

示例方法具有以下参数:

参数 类型 说明
connection -管理: WqlConnectionManager
- VBScript: SWbemServices
与 SMS 提供程序的有效连接。
swbemContext - VBScript: SWbemContext 有效的上下文对象。 有关详细信息,请参阅如何使用 WMI 添加Configuration Manager上下文限定符
siteCode -管理: String 站点代码。
siteToChange - VBScript: String 站点代码。
enableDisableFlag -管理: String
- VBScript: String
确定是启用或禁用软件汇报客户端代理。

0 - 已禁用

1 - 已启用

编译代码

此 C# 示例需要:

命名空间

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

可靠编程

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

.NET Framework 安全性

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

另请参阅

关于软件汇报安装和配置
关于Configuration Manager站点控制文件
如何使用托管代码读取和写入Configuration Manager站点控制文件
如何使用 WMI 读取和写入Configuration Manager站点控制文件
SMS_SCI_Component服务器 WMI 类
如何使用 WMI 添加Configuration Manager上下文限定符