Partilhar via


Como Adicionar Atualizações a um Pacote de Implementação

Adiciona atualizações a um pacote de implementação de atualizações de software, no Gestor de Configuração, obtendo uma instância da classe SMS_SoftwareUpdatesPackage e utilizando o método AddUpdateContent.

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

  1. Configurar uma ligação com o Fornecedor DE SMS.

  2. Obtenha um objeto de embalagem existente utilizando a SMS_SoftwareUpdatesPackage classe.

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

Exemplo

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

Nota

As atualizações devem estar disponíveis na trajetória de origem do conteúdo (como parte do objeto do dicionário addUpdateContentParameters em C#). Se as atualizações existirem numa fonte de pacote, essa fonte de pacote não pode ser utilizada para mais de um pacote de implantação.

Importante

Nenhum exemplo VBScript foi incluído, uma vez que o AddUpdateContent método não regressa da chamada do método no fracasso. Trata-se de uma questão conhecida e está a ser investigada.

Para obter informações sobre a chamada do código de amostra, consulte o Código de Identificação do Gestor de Chamadas.

Exemplo do método chamado 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 exemplo tem os seguintes parâmetros:

Parâmetro Tipo Description
connection - Gerido: WqlConnectionManager Uma ligação válida ao Fornecedor de SMS.
existingSUMPackageID - Gerido: String O iD do pacote para um pacote de implementação de atualizações de software existente.
addUpdateContentParameters - Gerido: dictionary objeto O conjunto de parâmetros ContentIDs (, ContentSourcePath , , ) que é passado para o método e usado com a chamada do bRefreshDPs AddUpdateContent método.

A Compilar o Código

Este exemplo C# requer:

Espaços de nomes

Sistema

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assemblagem

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Programação Robusta

Para obter mais informações sobre o tratamento de erros, consulte Sobre erros do Gestor de Configuração.

Segurança do .NET Framework

Para obter mais informações sobre a segurança das aplicações do Gestor de Configuração, consulte a administração baseada em funções do Gestor de Configuração.

Consulte também

Sobre implementações de atualização de software Como atribuir um Pacote a um Ponto de Distribuição
SMS_SoftwareUpdatesPackage
Método AddUpdateContent na Classe SMS_SoftwareUpdatesPackage