Dela via


Lägga till Uppdateringar i ett distributionspaket

Du lägger till uppdateringar i ett distributionspaket för programuppdateringar i Configuration Manager genom att hämta en instans av klassen SMS_SoftwareUpdatesPackage och med hjälp av metoden AddUpdateContent.

Så här skapar du ett distributionspaket för programuppdateringar

  1. Konfigurera en anslutning till SMS-providern.

  2. Hämta ett befintligt paketobjekt med hjälp SMS_SoftwareUpdatesPackage av klassen .

  3. Lägg till uppdateringsinnehåll i det befintliga paketet med hjälp av AddUpdateContent metoden .

Exempel

Följande exempelmetod visar hur du lägger till uppdateringar i ett distributionspaket för programuppdateringar med hjälp SMS_SoftwareUpdatesPackage av -klassen och AddUpdateContent -metoden.

Obs!

Uppdateringarna måste vara tillgängliga i innehållskällans sökväg (som en del av ordlisteobjektet addUpdateContentParameters i C#). Om uppdateringarna finns i en paketkälla kan inte paketkällan användas för fler än ett distributionspaket.

Viktigt

Inget VBScript-exempel inkluderades eftersom AddUpdateContent metoden inte returneras från metodanropet vid fel. Det här är ett känt problem som håller på att undersökas.

Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.

Exempel på metodanropet i 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;  
    }  
}  

Exempelmetoden har följande parametrar:

Parameter Typ Beskrivning
connection -Hanterade: WqlConnectionManager En giltig anslutning till SMS-providern.
existingSUMPackageID -Hanterade: String Paket-ID för ett befintligt programuppdateringsdistributionspaket.
addUpdateContentParameters – Hanterad: dictionary objekt Den uppsättning parametrar (ContentIDs, ContentSourcePath, bRefreshDPs) som skickas till metoden och används med metodanropet AddUpdateContent .

Kompilera koden

Det här C#-exemplet kräver:

Namnområden

System

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Församlingen

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Robust programmering

Mer information om felhantering finns i Om Configuration Manager fel.

.NET Framework Säkerhet

Mer information om hur du skyddar Configuration Manager program finns i Configuration Manager rollbaserad administration.

Se även

Om programuppdateringsdistributionerSå här tilldelar du ett paket till en distributionsplats
SMS_SoftwareUpdatesPackage
AddUpdateContent-metod i klass SMS_SoftwareUpdatesPackage