Freigeben über


Hinzufügen von Aktualisierungen zu einem Bereitstellungspaket

Sie fügen Updates zu einem Softwareupdatebereitstellungspaket in Configuration Manager hinzu, indem Sie eine Instanz der SMS_SoftwareUpdatesPackage-Klasse abrufen und die AddUpdateContent-Methode verwenden.

So erstellen Sie ein Bereitstellungspaket für Softwareupdates

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein.

  2. Rufen Sie mithilfe der SMS_SoftwareUpdatesPackage -Klasse ein vorhandenes Paketobjekt ab.

  3. Fügen Sie dem vorhandenen Paket mithilfe der AddUpdateContent -Methode Updateinhalte hinzu.

Beispiel

Die folgende Beispielmethode zeigt, wie Sie mithilfe der SMS_SoftwareUpdatesPackage -Klasse und der -Methode Updates zu einem Bereitstellungspaket für Softwareupdates AddUpdateContent hinzufügen.

Hinweis

Die Updates müssen im Inhaltsquellenpfad (als Teil des Wörterbuchobjekts addUpdateContentParameters in C# ) verfügbar sein. Wenn die Updates in einer Paketquelle vorhanden sind, kann diese Paketquelle nicht für mehr als ein Bereitstellungspaket verwendet werden.

Wichtig

Es wurde kein VBScript-Beispiel eingeschlossen, da die AddUpdateContent Methode bei einem Fehler nicht vom Methodenaufruf zurückgegeben wird. Dies ist ein bekanntes Problem, das untersucht wird.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.

Beispiel für den Methodenaufruf 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;  
    }  
}  

Die Beispielmethode verfügt über die folgenden Parameter:

Parameter Typ Beschreibung
connection -Verwalteten: WqlConnectionManager Eine gültige Verbindung mit dem SMS-Anbieter.
existingSUMPackageID -Verwalteten: String Die Paket-ID für ein vorhandenes Softwareupdatebereitstellungspaket.
addUpdateContentParameters – Verwaltet: dictionary Objekt Der Satz von Parametern (ContentIDs, ContentSourcePath, bRefreshDPs), der an die -Methode übergeben und mit dem AddUpdateContent Methodenaufruf verwendet wird.

Kompilieren des Codes

Für dieses C#-Beispiel ist Folgendes erforderlich:

Namespaces

System

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Robuste Programmierung

Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.

.NET Framework-Sicherheit

Weitere Informationen zum Schützen Configuration Manager Anwendungen finden Sie unter Configuration Manager rollenbasierte Verwaltung.

Siehe auch

Informationen zu Softwareupdatebereitstellungen: Zuweisen eines Pakets zu einem Verteilungspunkt
SMS_SoftwareUpdatesPackage
AddUpdateContent-Methode in Class SMS_SoftwareUpdatesPackage