Guide pratique pour ajouter Mises à jour à un package de déploiement

Vous ajoutez des mises à jour à un package de déploiement de mises à jour logicielles, dans Configuration Manager, en obtenant une instance de la classe SMS_SoftwareUpdatesPackage et en utilisant la méthode AddUpdateContent.

Pour créer un package de déploiement de mises à jour logicielles

  1. Configurez une connexion au fournisseur SMS.

  2. Obtenez un objet package existant à l’aide de la SMS_SoftwareUpdatesPackage classe .

  3. Ajoutez le contenu de mise à jour au package existant à l’aide de la AddUpdateContent méthode .

Exemple

L’exemple de méthode suivant montre comment ajouter des mises à jour à un package de déploiement de mises à jour logicielles à l’aide de la SMS_SoftwareUpdatesPackage classe et de la AddUpdateContent méthode .

Remarque

Les mises à jour doivent être disponibles dans le chemin de la source de contenu (dans le cadre de l’objet addUpdateContentParameters dictionnaire en C#). Si les mises à jour existent dans une source de package, cette source de package ne peut pas être utilisée pour plusieurs packages de déploiement.

Importante

Aucun exemple VBScript n’a été inclus, car la AddUpdateContent méthode ne retourne pas à partir de l’appel de méthode en cas d’échec. Il s’agit d’un problème connu qui fait l’objet d’une enquête.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code Configuration Manager.

Exemple d’appel de méthode en 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;  
    }  
}  

L’exemple de méthode a les paramètres suivants :

Paramètre Type Description
connection -Géré: WqlConnectionManager Connexion valide au fournisseur SMS.
existingSUMPackageID -Géré: String ID de package pour un package de déploiement de mises à jour logicielles existant.
addUpdateContentParameters - Géré : dictionary objet Ensemble de paramètres (ContentIDs, , ContentSourcePathbRefreshDPs) qui est passé dans la méthode et utilisé avec l’appel de méthodeAddUpdateContent.

Compilation du code

Cet exemple C# nécessite :

Espaces de noms

Système

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Programmation robuste

Pour plus d’informations sur la gestion des erreurs, consultez À propos des erreurs Configuration Manager.

Sécurité de .NET Framework

Pour plus d’informations sur la sécurisation des applications Configuration Manager, consultez Configuration Manager’administration basée sur les rôles.

Voir aussi

À propos des déploiements de mises à jour logiciellesComment attribuer un package à un point de distribution
SMS_SoftwareUpdatesPackage
Méthode AddUpdateContent dans la classe SMS_SoftwareUpdatesPackage