如何分配配置基线

在 Configuration Manager 中,若要将配置基线分配给集合,请创建分配实例,使用所需的最小值集填充并保存。

分配配置基线

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

  2. 创建 的 SMS_BaselineAssignment实例。

  3. 填充实例属性。

  4. 保存新 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 类