Updates toevoegen aan een implementatiepakket

U voegt updates toe aan een software-update-implementatiepakket, in Configuration Manager, door een exemplaar van de klasse SMS_SoftwareUpdatesPackage op te halen en met behulp van de methode AddUpdateContent.

Een software-update-implementatiepakket maken

  1. Een verbinding met de SMS-provider instellen.

  2. Een bestaand pakketobject verkrijgen met behulp van de SMS_SoftwareUpdatesPackage klasse.

  3. Voeg inhoud bijwerken toe aan het bestaande pakket met behulp van de AddUpdateContent methode.

Voorbeeld

In de volgende voorbeeldmethode ziet u hoe u updates toevoegt aan een software-update-implementatiepakket met behulp van de SMS_SoftwareUpdatesPackage klasse en de AddUpdateContent methode.

Opmerking

De updates moeten beschikbaar zijn in het inhoudsbronpad (als onderdeel van het woordenlijstobject addUpdateContentParameters in C#). Als de updates aanwezig zijn in een pakketbron, kan die pakketbron niet worden gebruikt voor meer dan één implementatiepakket.

Belangrijk

Er is geen VBScript-voorbeeld opgenomen, omdat de AddUpdateContent methode niet retourneert van de methode-aanroep bij een fout. Dit is een bekend probleem en wordt onderzocht.

Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.

Voorbeeld van de methode-aanroep 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;
    }
}

De voorbeeldmethode heeft de volgende parameters:

Parameter Type Beschrijving
connection -Beheerd: WqlConnectionManager Een geldige verbinding met de SMS-provider.
existingSUMPackageID -Beheerd: String De pakket-id voor een bestaand implementatiepakket voor software-updates.
addUpdateContentParameters - Beheerd: dictionary object De set parameters (ContentIDs, ContentSourcePath, bRefreshDPs) die wordt doorgegeven aan de methode en wordt gebruikt met de AddUpdateContent methode-aanroep.

De code compileren

Voor dit C#-voorbeeld is het volgende vereist:

Naamruimten

Systeem

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Vergadering

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Robuust programmeren

Zie Over Configuration Manager fouten voor meer informatie over foutafhandeling.

.NET Framework Beveiliging

Zie Configuration Manager op rollen gebaseerd beheer voor meer informatie over het beveiligen van Configuration Manager toepassingen.

Zie ook

Informatie over implementaties van software-updatesEen pakket toewijzen aan een distributiepuntSMS_SoftwareUpdatesPackagemethode AddUpdateContent in klasse SMS_SoftwareUpdatesPackage