Como atribuir linhas de base de configuração

Em Configuration Manager, para atribuir uma linha de base de configuração a uma coleção, uma instância de atribuição é criada, preenchida com um conjunto mínimo de valores necessários e salva.

Para atribuir linhas de base de configuração

  1. Configure uma conexão com o Provedor de SMS.

  2. Criar uma instância de SMS_BaselineAssignment.

  3. Preencha as propriedades da instância.

  4. Salve a nova SMS_BaselineAssignment instância.

Exemplo

Os exemplos de código a seguir mostram como criar uma instância de uma atribuição de linha de base.

Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets de Código.


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.");  

}  

O método de exemplo tem os seguintes parâmetros:

Parâmetro Tipo Descrição
- connection
- swbemServices
-Gerenciado: WqlConnectionManager
- VBScript: SWbemServices
Uma conexão válida com o provedor de SMS.
applyToSubTargets -Gerenciado: Boolean
-Vbscript: Boolean
true para aplicar a atribuição do item de configuração a uma subcolleção.
assignmentAction -Gerenciado: Integer
-Vbscript: Integer
Ação associada à atribuição do item de configuração.
assignmentName -Gerenciado: String
-Vbscript: String
assignmentName
assignmentDescription -Gerenciado: String
-Vbscript: String
O nome da atribuição local.
desiredConfigType -Gerenciado: String
-Vbscript: String
O tipo do item de configuração.
distributionPointLocality -Gerenciado: Integer
-Vbscript: Integer
Sinalizadores que determinam como o cliente obtém pontos de distribuição, de acordo com a localidade do ponto de distribuição.
evaluationSchedule -Gerenciado: String
-Vbscript: String
A agenda de avaliação de atribuição.
logComplianceToWinEvent -Gerenciado: Boolean
-Vbscript: Boolean
true para registrar o status de conformidade nos logs de eventos do Windows.
notifyUser -Gerenciado: Boolean
-Vbscript: Boolean
true para notificar o usuário quando um item de configuração estiver disponível.
sendDetailedNonComplianceStatus -Gerenciado: Boolean
-Vbscript: Boolean
true para enviar uma mensagem detalhada de status de não conformidade.
startTime -Gerenciado: String
-Vbscript: String
A data e hora em que a atribuição do item de configuração foi oferecida inicialmente.
suppressReboot -Gerenciado: Integer
-Vbscript: Integer
Valor que indica se o cliente não deve reiniciar o computador, se houver uma reinicialização pendente após a aplicação do item de configuração.
targetCollectionID -Gerenciado: String
-Vbscript: String
O identificador da coleção à qual a atribuição é direcionada.
useGMTTimes -Gerenciado: Boolean
-Vbscript: Boolean
true se os horários e horários estiverem em TEMPO Coordenado Universal (UTC).
baselineID – Gerenciado: Integer Matriz
- VBScript: Integer Matriz
Matriz de IDs para os itens de configuração direcionados pela atribuição.

Compilando o código

Namespaces

System

System.Collections.Generic

System.ComponentModel

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Programação robusta

Para obter mais informações sobre o tratamento de erros, consulte Sobre erros de Configuration Manager.

Segurança do .NET Framework

Para obter mais informações sobre como proteger aplicativos Configuration Manager, consulte Configuration Manager administração baseada em função.

Confira também

Sobre linhas de base de configuração e itens de configuração
Visão geral de objetoscomo se conectar a um provedor de Configuration Manager usando código gerenciado
Como se conectar a um provedor de Configuration Manager usando o WMI
Classe WMI do servidor SMS_BaselineAssignment