Comment attribuer des lignes de base de configuration

Dans Configuration Manager, pour affecter une ligne de base de configuration à un regroupement, une instance d’affectation est créée, remplie avec un ensemble minimal de valeurs requises et enregistrée.

Pour affecter des lignes de base de configuration

  1. Configurez une connexion au fournisseur SMS.

  2. Créez une instance de SMS_BaselineAssignment.

  3. Renseignez les propriétés de l’instance.

  4. Enregistrez la nouvelle SMS_BaselineAssignment instance.

Exemple

Les exemples de code suivants montrent comment créer une instance d’une attribution de ligne de base.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Calling Configuration Manager Code Snippets (Appel d’extraits de code 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.");  

}  

L’exemple de méthode a les paramètres suivants :

Paramètre Type Description
- connection
- swbemServices
- Géré : WqlConnectionManager
- VBScript : SWbemServices
Une connexion valide au fournisseur SMS.
applyToSubTargets - Géré : Boolean
- VBScript : Boolean
true pour appliquer l’attribution d’élément de configuration à un sous-groupe.
assignmentAction - Géré : Integer
- VBScript : Integer
Action associée à l’affectation de l’élément de configuration.
assignmentName - Géré : String
- VBScript : String
assignmentName
assignmentDescription - Géré : String
- VBScript : String
Nom de l’attribution locale.
desiredConfigType - Géré : String
- VBScript : String
Type de l’élément de configuration.
distributionPointLocality - Géré : Integer
- VBScript : Integer
Indicateurs qui déterminent la façon dont le client obtient les points de distribution, en fonction de la localité du point de distribution.
evaluationSchedule - Géré : String
- VBScript : String
Calendrier d’évaluation de l’attribution.
logComplianceToWinEvent - Géré : Boolean
- VBScript : Boolean
true pour consigner l’état de conformité dans les journaux des événements Windows.
notifyUser - Géré : Boolean
- VBScript : Boolean
true pour avertir l’utilisateur lorsqu’un élément de configuration est disponible.
sendDetailedNonComplianceStatus - Géré : Boolean
- VBScript : Boolean
true pour envoyer un message d’état de non-conformité détaillé.
startTime - Géré : String
- VBScript : String
Date et heure auxquelles l’attribution de l’élément de configuration a été initialement proposée.
suppressReboot - Géré : Integer
- VBScript : Integer
Valeur indiquant si le client ne doit pas redémarrer l’ordinateur, si un redémarrage est en attente après l’application de l’élément de configuration.
targetCollectionID - Géré : String
- VBScript : String
Identificateur de la collection à laquelle l’assignation est ciblée.
useGMTTimes - Géré : Boolean
- VBScript : Boolean
true Si les heures et les planifications sont en temps universel coordonné (UTC).
baselineID Géré : Integer tableau
-VBScript : Integer tableau
Tableau d’ID pour les éléments de configuration ciblés par l’affectation.

Compilation du code

Espaces de noms

Système

System.Collections.Generic

System.ComponentModel

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Programmation fiable

Pour plus d’informations sur la gestion des erreurs, consultez À propos des erreurs de Configuration Manager.

Sécurité du .NET Framework

Pour plus d’informations sur la sécurisation des applications Configuration Manager, consultez Configuration Manager l’administration basée sur des rôles.

Voir aussi

À propos des lignes de base de configuration et des éléments de configuration
Vue d’ensemble des objets Comment se connecter à un fournisseur de Configuration Manager à l’aide de code managé
Comment se connecter à un fournisseur de Configuration Manager à l’aide de WMI
Classe WMI du serveur SMS_BaselineAssignment