在 Configuration Manager 中,通过修改站点控制文件设置来启用或禁用软件汇报客户端代理。
启用或禁用软件汇报客户端代理
设置与 SMS 提供程序的连接。
使用 SMS_SCI_ClientComp 类连接到站点控制文件的“软件汇报客户端代理”部分。
循环访问可用属性的数组,根据需要进行更改。
提交对站点控制文件的更改。
示例
以下示例方法通过使用 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上下文限定符