在 Configuration Manager,可以通过加载由软件计数规则 ID 标识的软件计数规则实例,然后设置 Enabled 值来启用或禁用软件计数规则。
启用或禁用软件计数规则
设置与 SMS 提供程序的连接。
使用 SMS_MeteredProductRule 类和已知的软件计数规则 ID 加载软件计数规则对象。
将 Enabled 属性设置为
true
或false
。
示例
以下示例方法演示如何通过加载由软件计数规则 ID 标识的软件计数规则实例并设置 Enabled 属性来启用或禁用软件计数规则。
重要
规则 ID 对应于存储在属性 RuleID 中的值。 Configuration Manager控制台显示规则 ID 列,该列实际上对应于存储在属性 SecurityID 中的值。
有关调用示例代码的信息,请参阅调用Configuration Manager代码片段。
' Enable or disable a software metering rule.
Sub EnableDisableSoftwareMeteringRule(connection, _
existingSWMRuleID, _
enableDisableSWMRule)
' Get an existing software metering rule to enable or disable.
Set existingSWMRule = connection.Get("SMS_MeteredProductRule.RuleID='" & existingSWMRuleID & "'")
' Get file name for output.
fileName = existingSWMRule.FileName
' Enable or disable the rule.
existingSWMRule.Enabled = enableDisableSWMRule
' Save the new rule and properties.
existingSWMRule.Put_
' Output a success message.
Wscript.Echo "SWM rule ID: " & existingSWMRuleID
Wscript.Echo "Rule name: " & fileName
Wscript.Echo "Set enabled to: " & enableDisableSWMRule
End Sub
public void EnableDisableSoftwareMeteringRule(WqlConnectionManager connection,
string existingSWMRuleID,
bool enableDisableSWMRule)
{
try
{
// Get the specific software metering rule to enable or disable.
IResultObject existingSWMRule = connection.GetInstance(@"SMS_MeteredProductRule.RuleID='" + existingSWMRuleID + "'");
// Get rule name for output message.
string productName = existingSWMRule["ProductName"].StringValue;
// Set the software metering rule.
existingSWMRule["Enabled"].BooleanValue = enableDisableSWMRule;
// Save changes.
existingSWMRule.Put();
// Output a success message.
Console.WriteLine("SWM rule ID: " + existingSWMRuleID);
Console.WriteLine("Rule name: " + productName);
Console.WriteLine("Set enabled to: " + enableDisableSWMRule);
}
catch (SmsException ex)
{
Console.WriteLine("Failed to modify software metering rule. Error: " + ex.Message);
throw;
}
}
示例方法具有以下参数:
参数 | 类型 | 说明 |
---|---|---|
connection |
-管理: WqlConnectionManager - VBScript: SWbemServices |
与 SMS 提供程序的有效连接。 |
existingSWMRuleID |
-管理: String - VBScript: String |
标识特定的软件计数规则。 在这种情况下,标识将启用或禁用的特定软件计数规则。 |
enableDisableSWMRule |
-管理: Boolean - VBScript: Boolean |
启用或禁用软件计数规则。true -启用false -禁用 |
编译代码
此 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软件开发工具包
SMS_MeteredProductRule服务器 WMI 类