Partager via


Comment attribuer des bases de référence de configuration

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

Pour affecter des bases de référence 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 affectation de référence.

Pour plus d’informations sur l’appel de l’exemple de code, consultez 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
Connexion valide au fournisseur SMS.
applyToSubTargets -Géré: Boolean
-Vbscript: Boolean
true pour appliquer l’affectation d’élément de configuration à une sous-collection.
assignmentAction -Géré: Integer
-Vbscript: Integer
Action associée à l’affectation d’élément de configuration.
assignmentName -Géré: String
-Vbscript: String
assignmentName
assignmentDescription -Géré: String
-Vbscript: String
Nom de l’affectation 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
Planification de l’évaluation des affectations.
logComplianceToWinEvent -Géré: Boolean
-Vbscript: Boolean
true pour journaliser l’état de conformité aux 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étaillé d’état de non-conformité.
startTime -Géré: String
-Vbscript: String
Date et heure à laquelle l’attribution d’é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’affectation 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 Array
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 robuste

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

Sécurité de .NET Framework

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

Voir aussi

À propos des bases de référence de configuration et des éléments de configuration
Vue d’ensemble des objetsComment se connecter à un fournisseur Configuration Manager à l’aide de code managé
Comment se connecter à un fournisseur Configuration Manager à l’aide de WMI
Classe WMI du serveur SMS_BaselineAssignment