Condividi tramite


Come aggiungere Aggiornamenti a un pacchetto di distribuzione

È possibile aggiungere gli aggiornamenti a un pacchetto di distribuzione degli aggiornamenti software, in Configuration Manager, ottenendo un'istanza della classe SMS_SoftwareUpdatesPackage e usando il metodo AddUpdateContent.

Per creare un pacchetto di distribuzione degli aggiornamenti software

  1. Configurare una connessione al provider SMS.

  2. Ottenere un oggetto pacchetto esistente usando la SMS_SoftwareUpdatesPackage classe .

  3. Aggiungere contenuto di aggiornamento al pacchetto esistente usando il AddUpdateContent metodo .

Esempio

Il metodo di esempio seguente illustra come aggiungere aggiornamenti a un pacchetto di distribuzione degli aggiornamenti software usando la SMS_SoftwareUpdatesPackage classe e il AddUpdateContent metodo .

Nota

Gli aggiornamenti devono essere disponibili nel percorso dell'origine del contenuto (come parte dell'oggetto addUpdateContentParameters dizionario in C#). Se gli aggiornamenti sono presenti in un'origine del pacchetto, l'origine del pacchetto non può essere usata per più di un pacchetto di distribuzione.

Importante

Non è stato incluso alcun esempio VBScript, in quanto il AddUpdateContent metodo non restituisce dalla chiamata al metodo in caso di errore. Si tratta di un problema noto che è in corso di analisi.

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice Configuration Manager.

Esempio della chiamata al metodo in 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;  
    }  
}  

Il metodo di esempio include i parametri seguenti:

Parametro Tipo Descrizione
connection -Gestito: WqlConnectionManager Connessione valida al provider SMS.
existingSUMPackageID -Gestito: String ID pacchetto per un pacchetto di distribuzione degli aggiornamenti software esistente.
addUpdateContentParameters - Gestito: dictionary oggetto Set di parametri (ContentIDs, ContentSourcePath, bRefreshDPs) passati al metodo e utilizzati con la chiamata al AddUpdateContent metodo .

Compilazione del codice

Questo esempio C# richiede:

Namespaces

Sistema

System.collections.generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Programmazione efficiente

Per altre informazioni sulla gestione degli errori, vedere Informazioni sugli errori di Configuration Manager.

Sicurezza di .NET Framework

Per altre informazioni sulla protezione delle applicazioni Configuration Manager, vedere Configuration Manager'amministrazione basata sui ruoli.

Vedere anche

Informazioni sulle distribuzioni di aggiornamenti softwareCome assegnare un pacchetto a un punto di distribuzione
SMS_SoftwareUpdatesPackage
Metodo AddUpdateContent nella classe SMS_SoftwareUpdatesPackage