Como adicionar Atualizações a um pacote de implantação

Você adiciona atualizações a um pacote de implantação de atualizações de software, em Configuration Manager, obtendo uma instância da classe SMS_SoftwareUpdatesPackage e usando o método AddUpdateContent.

Para criar um pacote de implantação de atualizações de software

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

  2. Obtenha um objeto de pacote existente usando a SMS_SoftwareUpdatesPackage classe.

  3. Adicione conteúdo de atualização ao pacote existente usando o AddUpdateContent método.

Exemplo

O método de exemplo a seguir mostra como adicionar atualizações a um pacote de implantação de atualizações de software usando a SMS_SoftwareUpdatesPackage classe e o AddUpdateContent método.

Observação

As atualizações devem estar disponíveis no caminho da origem do conteúdo (como parte do objeto addUpdateContentParameters dicionário em C#). Se as atualizações existirem em uma fonte de pacote, essa fonte de pacote não poderá ser usada para mais de um pacote de implantação.

Importante

Nenhum exemplo de VBScript foi incluído, pois o AddUpdateContent método não retorna da chamada de método sobre falha. Este é um problema conhecido e está sendo investigado.

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

Exemplo da chamada de método em C#:

// PREWORK FOR AddUpdatesToSUMDeploymentPackage  

// Define the array of Content Ids to load into addUpdateContentParameters.  
int[] newArrayContentIds = new int[] { 82 };  

// Define the array of source paths (these must be UNC) to load into addUpdateContentParameters.  
string[] newArrayContentSourcePath = new string[] { "\\\\ServerOne\\source1" };  

// Load the update content parameters into an object to pass to the method.  
Dictionary<string, object> addUpdateContentParameters = new Dictionary<string, object>();  
addUpdateContentParameters.Add("ContentIds", newArrayContentIds);  
addUpdateContentParameters.Add("ContentSourcePath", newArrayContentSourcePath);  
addUpdateContentParameters.Add("bRefreshDPs", false);  

AddUpdatestoSUMDeploymentPackage(WMIConnection,  
                                 "ABC00001",  
                                 addUpdateContentParameters);  
public void AddUpdatestoSUMDeploymentPackage(WqlConnectionManager connection,  
                                            string existingSUMPackageID,  
                                            Dictionary<string, object> addUpdateContentParameters)  
{  
    try  
    {  
        // Get the specific SUM Deployment Package to change.  
        IResultObject existingSUMDeploymentPackage = connection.GetInstance(@"SMS_SoftwareUpdatesPackage.PackageID='" + existingSUMPackageID + "'");  

        // Add updates to the existing SUM Deployment Package using the AddUpdateContent method.  
        // Note: The method will throw an exception, if the method is not able to add the content.  
        existingSUMDeploymentPackage.ExecuteMethod("AddUpdateContent", addUpdateContentParameters);  

        // Output a success message that the content was added.  
        Console.WriteLine("Added content to the SUM deployment package. ");                  
    }  
    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to add content to the SUM deployment package.");                  
        Console.WriteLine("Error: " + ex.Message);        
        throw;  
    }  
}  

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

Parâmetro Tipo Descrição
connection -Gerenciado: WqlConnectionManager Uma conexão válida com o provedor de SMS.
existingSUMPackageID -Gerenciado: String A ID do pacote de um pacote de implantação de atualizações de software existente.
addUpdateContentParameters – Gerenciado: dictionary objeto O conjunto de parâmetros (ContentIDs, , ContentSourcePath), bRefreshDPsque é passado para o método e usado com a chamada de AddUpdateContent método.

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 implantações de atualização de softwareComo atribuir um pacote a um ponto de distribuição
SMS_SoftwareUpdatesPackage
Método AddUpdateContent na classe SMS_SoftwareUpdatesPackage