Como configurar e implantar Atualizações

Você cria uma implantação de atualizações de software, em Configuration Manager, criando uma instância da Classe WMI do servidor SMS_UpdatesAssignment e populando as propriedades.

Para configurar e implantar atualizações

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

  2. Crie o novo objeto de implantação usando a classe SMS_UpdatesAssignment .

  3. Preencha as novas propriedades de implantação.

  4. Salve a nova implantação e as propriedades.

Exemplo

O método de exemplo a seguir mostra como criar uma implantação de atualizações de software usando a classe SMS_UpdatesAssignment . Observe que os parâmetros do método de exemplo refletem determinadas propriedades de SMS_UpdatesAssignment.

Importante

Os métodos abaixo exigem uma matriz dos itens de configuração atribuídos (CI_IDs). O conteúdo de atualização desses CI_IDs já deve ter sido baixado e adicionado a um pacote de implantação de atualizações.

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


Sub ConfigureAndDeploySUMUpdates(connection,                             _  
                                  newApplyToSubTargets,                  _  
                                  newArrayAssignedCIs,                   _  
                                  newAssignmentAction,                   _  
                                  newAssignmentDescription,              _  
                                  newAssignmentName,                     _  
                                  newDesiredConfigType,                  _  
                                  newDPLocality,                         _   
                                  newLocaleID,                           _  
                                  newLogComplianceToWinEvent,            _  
                                  newNotifyUser,                         _  
                                  newRaiseMomAlertsOnFailure,            _  
                                  newSendDetailedNonComplianceStatus,    _  
                                  newStartTime,                          _  
                                  newSuppressReboot,                     _  
                                  newTargetCollectionID,                 _  
                                  newUseGMTTimes)  

  ' Create the new deployment object.  
  Set newSUMUpdatesAssignment = connection.Get("SMS_UpdatesAssignment").SpawnInstance_  

  ' Populate the deployment properties.  
  newSUMUpdatesAssignment.ApplyToSubTargets = newApplyToSubTargets  
  newSUMUpdatesAssignment.AssignedCIs = newArrayAssignedCIs  
  newSUMUpdatesAssignment.AssignmentAction = newAssignmentAction  
  newSUMUpdatesAssignment.AssignmentDescription = newAssignmentDescription  
  newSUMUpdatesAssignment.AssignmentName = newAssignmentName  
  newSUMUpdatesAssignment.DesiredConfigType = newDesiredConfigType  
  newSUMUpdatesAssignment.DPLocality = newDPLocality  
  newSUMUpdatesAssignment.LocaleID = newLocaleID  
  newSUMUpdatesAssignment.LogComplianceToWinEvent = newLogComplianceToWinEvent  
  newSUMUpdatesAssignment.NotifyUser = newNotifyUser  
  newSUMUpdatesAssignment.RaiseMomAlertsOnFailure = newRaiseMomAlertsOnFailure  
  newSUMUpdatesAssignment.SendDetailedNonComplianceStatus = newSendDetailedNonComplianceStatus  
  newSUMUpdatesAssignment.StartTime = newStartTime  
  newSUMUpdatesAssignment.SuppressReboot = newSuppressReboot  
  newSUMUpdatesAssignment.TargetCollectionID = newTargetCollectionID  
  newSUMUpdatesAssignment.UseGMTTimes = newUseGMTTimes  

  ' Save the new deployment and properties.  
  newSUMUpdatesAssignment.Put_   

  ' Output the new deployment name.  
  Wscript.Echo "Created new deployment " & newSUMUpdatesAssignment.AssignmentName                    

End Sub  


public void ConfigureAndDeploySUMUpdates(WqlConnectionManager connection,  
                                        bool newApplyToSubTargets,  
                                        int[] newArrayAssignedCIs,  
                                        int newAssignmentAction,  
                                        string newAssignmentDescription,  
                                        string newAssignmentName,  
                                        int newDesiredConfigType,  
                                        int newDPLocality,  
                                        int newLocaleID,  
                                        bool newLogComplianceToWinEvent,  
                                        bool newNotifyUser,  
                                        bool newRaiseMomAlertsOnFailure,  
                                        bool newSendDetailedNonComplianceStatus,  
                                        string newStartTime,  
                                        int newSuppressReboot,  
                                        string newTargetCollectionID,  
                                        bool newUseGMTTimes)      
{  
    try  
    {  

        // Create the deployment object.  
        IResultObject newSUMUpdatesAssignment = connection.CreateInstance("SMS_UpdatesAssignment");  

        // Populate new deployment properties.  
        // Note: newTemplateName must be unique.  

        newSUMUpdatesAssignment["ApplyToSubTargets"].BooleanValue = newApplyToSubTargets;  
        newSUMUpdatesAssignment["AssignedCIs"].IntegerArrayValue = newArrayAssignedCIs;  
        newSUMUpdatesAssignment["AssignmentAction"].IntegerValue = newAssignmentAction;  
        newSUMUpdatesAssignment["AssignmentDescription"].StringValue = newAssignmentDescription;         
        newSUMUpdatesAssignment["AssignmentName"].StringValue = newAssignmentName;  
        newSUMUpdatesAssignment["DesiredConfigType"].IntegerValue = newDesiredConfigType;  
        newSUMUpdatesAssignment["DPLocality"].IntegerValue = newDPLocality;  
        newSUMUpdatesAssignment["LocaleID"].IntegerValue = newLocaleID;  
        newSUMUpdatesAssignment["LogComplianceToWinEvent"].BooleanValue = newLogComplianceToWinEvent;  
        newSUMUpdatesAssignment["NotifyUser"].BooleanValue = newNotifyUser;  
        newSUMUpdatesAssignment["RaiseMomAlertsOnFailure"].BooleanValue = newRaiseMomAlertsOnFailure;  
        newSUMUpdatesAssignment["SendDetailedNonComplianceStatus"].BooleanValue = newSendDetailedNonComplianceStatus;  
        newSUMUpdatesAssignment["StartTime"].DateTimeValue = newStartTime;  
        newSUMUpdatesAssignment["SuppressReboot"].IntegerValue = newSuppressReboot;  
        newSUMUpdatesAssignment["TargetCollectionID"].StringValue = newTargetCollectionID;  
        newSUMUpdatesAssignment["UseGMTTimes"].BooleanValue = newUseGMTTimes;  

        // Save new deployment and new deployment properties.  
        newSUMUpdatesAssignment.Put();  

        // Output the new deployment name.  
        Console.WriteLine("Created deployment: " + newAssignmentName);  
    }  

    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to create newSUMUpdatesAssignment. Error: " + ex.Message);  
        throw;  
    }  
}  

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

Parâmetro Tipo Descrição
Connection -Gerenciado: WqlConnectionManager
- VBScript: SWbemServices
Uma conexão válida com o provedor de SMS.
newApplyToSubTargets -Gerenciado: Boolean
-Vbscript: Boolean
Determina se a implantação se aplica a subtargets.

-Verdade
-False
newArrayAssignedCIs – Gerenciado: Integer matriz
- VBScript: Integer matriz
Uma matriz dos itens de configuração atribuídos (CI_IDs). O conteúdo de atualização desses CI_IDs já deve ter sido baixado e adicionado a um pacote de implantação de atualizações.
newAssignmentAction -Gerenciado: Integer
-Vbscript: Integer
A nova ação de atribuição.
newAssignmentDescription -Gerenciado: String
-Vbscript: String
A nova descrição da atribuição.
newAssignmentName -Gerenciado: String
-Vbscript: String
O novo nome da atribuição.
newDesiredConfigType -Gerenciado: Integer
-Vbscript: Integer
O novo tipo de configuração desejado.
newDPLocality -Gerenciado: Integer
-Vbscript: Integer
A nova localidade do ponto de distribuição.
newLocaleID -Gerenciado: Integer
-Vbscript: Integer
A nova ID da localidade.
newLogComplianceToWinEvent -Gerenciado: Boolean
-Vbscript: Boolean
Determina se a conformidade está registrada no log de eventos do Windows.

-Verdade
-False
newNotifyUser -Gerenciado: Boolean
-Vbscript: Boolean
Identifica se os usuários são notificados.

-Verdade
-False
newRaiseMomAlertsOnFailure -Gerenciado: Boolean
-Vbscript: Boolean
Identifica se os alertas MOM são gerados por falha.

-Verdade
-False
newSendDetailedNonComplianceStatus -Gerenciado: Boolean
-Vbscript: Boolean
Identifica se o status de não conformidade detalhado é enviado.

-Verdade
-False
newStartTime -Gerenciado: String
-Vbscript: String
A nova hora de início.
newSuppressReboot -Gerenciado: Integer
-Vbscript: Integer
Identifica se a reinicialização é suprimida.
newTargetCollectionID -Gerenciado: String
-Vbscript: String
As novas IDs da coleção de destino.
newUseGMTTimes -Gerenciado: Boolean
-Vbscript: Boolean
Identifica se deve usar o UTC (Tempo Universal Coordenado).

-Verdade
-False

Compilando o código

Este exemplo de C# requer:

Namespaces

System

System.Collections.Generic

System.Text

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 as implantações da atualização de softwares

SMS_UpdatesAssignment