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 un instance de SMS_BaselineAssignment.

  3. Remplissez les propriétés instance.

  4. Enregistrez la nouvelle SMS_BaselineAssignment instance.

Exemple

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

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
truepour journaliser les status 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
truepour envoyer un message de status de non-conformité détaillé.
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

Vue d’ensembledes bases de référence de configuration et des objets d’éléments de configurationComment se connecter à un fournisseur Configuration Manager à l’aide du code managéComment se connecter à un fournisseur Configuration Manager à l’aide de WMISMS_BaselineAssignment Server classe WMI