如何分配配置基线
在 Configuration Manager 中,若要将配置基线分配给集合,请创建分配实例,使用所需的最小值集填充并保存。
分配配置基线
设置与 SMS 提供程序的连接。
创建 的
SMS_BaselineAssignment
实例。填充实例属性。
保存新
SMS_BaselineAssignment
实例。
示例
以下代码示例演示如何创建基线分配的实例。
有关调用示例代码的信息,请参阅调用Configuration Manager代码片段。
Sub DCMCreateAssignment(swbemServices, _
baselineID, _
applyToSubTargets, _
assignmentAction, _
assignmentName, _
assignmentDescription, _
desiredConfigType, _
distributionPointLocality, _
evaluationSchedule, _
logComplianceToWinEvent, _
notifyUser, _
sendDetailedNonComplianceStatus, _
startTime, _
suppressReboot, _
targetCollectionID, _
useGMTTimes)
' Create new assignment object.
set newAssignment = swbemServices.Get("SMS_BaselineAssignment").SpawnInstance_()
' Assign variable values to assignment properties.
' //
' // The following properties are set by the provider on put():
' // AssignmentID
' // AssignmentUniqueID
' // SourceSite
' // CreationTime
newAssignment.ApplyToSubTargets = applyToSubTargets
newAssignment.AssignmentAction = assignmentAction
newAssignment.AssignmentName = assignmentName
newAssignment.AssignmentDescription = assignmentDescription
newAssignment.DesiredConfigType = desiredConfigType
newAssignment.DPLocality = distributionPointLocality
newAssignment.EvaluationSchedule = evaluationSchedule
newAssignment.LogComplianceToWinEvent = logComplianceToWinEvent
newAssignment.NotifyUser = notifyUser
newAssignment.SendDetailedNonComplianceStatus = sendDetailedNonComplianceStatus
newAssignment.StartTime = startTime
newAssignment.SuppressReboot = suppressReboot
newAssignment.TargetCollectionID = targetCollectionID
newAssignment.UseGMTTimes = useGMTTimes
newAssignment.AssignedCIs = Array(baselineID)
' Save assignment.
newAssignment.Put_
Wscript.Echo " "
Wscript.Echo "Created new assignment."
End Sub
public void DCMCreateAssignment(WqlConnectionManager connection,
bool applyToSubTargets,
int assignmentAction,
string assignmentName,
string assignmentDescription,
string desiredConfigType,
int distributionPointLocality,
string evaluationSchedule,
bool logComplianceToWinEvent,
bool notifyUser,
bool sendDetailedNonComplianceStatus,
string startTime,
int suppressReboot,
string targetCollectionID,
bool useGMTTimes,
int baselineID)
{
// Set required variables.
// Set AssignedCIs like array with a known baseline id (this is the initial creation of the assignment, so no existing values).
int[] arrayBaselineNumbers = new int[] { baselineID };
try
{
// Create new assignment object.
IResultObject newAssignment = connection.CreateInstance("SMS_BaselineAssignment");
// Assign variable values to assignment properties.
//
// The following properties are set by the provider on put():
// AssignmentID
// AssignmentUniqueID
// SourceSite
// CreationTime
newAssignment["ApplyToSubTargets"].BooleanValue = applyToSubTargets;
newAssignment["AssignmentAction"].IntegerValue = assignmentAction;
newAssignment["AssignmentName"].StringValue = assignmentName;
newAssignment["AssignmentDescription"].StringValue = assignmentDescription;
newAssignment["DesiredConfigType"].StringValue = desiredConfigType;
newAssignment["DPLocality"].IntegerValue = distributionPointLocality;
newAssignment["EvaluationSchedule"].StringValue = evaluationSchedule;
newAssignment["LogComplianceToWinEvent"].BooleanValue = logComplianceToWinEvent;
newAssignment["NotifyUser"].BooleanValue = notifyUser;
newAssignment["SendDetailedNonComplianceStatus"].BooleanValue = sendDetailedNonComplianceStatus;
newAssignment["StartTime"].StringValue = startTime;
newAssignment["SuppressReboot"].IntegerValue = suppressReboot;
newAssignment["TargetCollectionID"].StringValue = targetCollectionID;
newAssignment["AssignedCIs"].IntegerArrayValue = arrayBaselineNumbers;
newAssignment["UseGMTTimes"].BooleanValue = useGMTTimes;
// Save assignment object.
newAssignment.Put();
}
catch (SmsException ex)
{
Console.WriteLine("Failed to create new assignment." + "\\n" + ex.Message);
throw;
}
Console.WriteLine("Created new assignment.");
}
示例方法具有以下参数:
参数 | 类型 | 说明 |
---|---|---|
- connection - swbemServices |
-管理: WqlConnectionManager - VBScript: SWbemServices |
与 SMS 提供程序的有效连接。 |
applyToSubTargets |
-管理: Boolean - VBScript: Boolean |
true 将配置项目分配应用于子集合。 |
assignmentAction |
-管理: Integer - VBScript: Integer |
与配置项目分配关联的操作。 |
assignmentName |
-管理: String - VBScript: String |
assignmentName |
assignmentDescription |
-管理: String - VBScript: String |
本地分配名称。 |
desiredConfigType |
-管理: String - VBScript: String |
配置项的类型。 |
distributionPointLocality |
-管理: Integer - VBScript: Integer |
确定客户端如何根据分发点位置获取分发点的标志。 |
evaluationSchedule |
-管理: String - VBScript: String |
分配评估计划。 |
logComplianceToWinEvent |
-管理: Boolean - VBScript: Boolean |
true 将符合性状态记录到 Windows 事件日志。 |
notifyUser |
-管理: Boolean - VBScript: Boolean |
true 以在配置项目可用时通知用户。 |
sendDetailedNonComplianceStatus |
-管理: Boolean - VBScript: Boolean |
true 以发送详细的不合规状态消息。 |
startTime |
-管理: String - VBScript: String |
最初提供配置项目分配的日期和时间。 |
suppressReboot |
-管理: Integer - VBScript: Integer |
指示客户端是否不应重启计算机(如果在应用配置项目后有挂起的重新启动)的值。 |
targetCollectionID |
-管理: String - VBScript: String |
工作分配的目标集合的标识符。 |
useGMTTimes |
-管理: Boolean - VBScript: Boolean |
true 如果时间和计划处于世界协调时 (UTC) 。 |
baselineID |
- 托管: Integer 数组- VBScript: Integer 数组 |
分配所面向的配置项目的 ID 数组。 |
编译代码
命名空间
System
System.Collections.Generic
System.ComponentModel
Microsoft。ConfigurationManagement.ManagementProvider
Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
可靠编程
有关错误处理的详细信息,请参阅关于Configuration Manager错误。
.NET Framework 安全性
有关保护Configuration Manager应用程序的详细信息,请参阅Configuration Manager基于角色的管理。
另请参阅
关于配置基线和配置项目
对象概述如何使用托管代码连接到Configuration Manager提供程序
如何使用 WMI 连接到Configuration Manager提供程序
SMS_BaselineAssignment服务器 WMI 类