共用方式為


如何將更新新增至部署套件

您可以藉由取得SMS_SoftwareUpdatesPackage類別的實例,以及使用AddUpdateContent方法,在Configuration Manager中將更新新增至軟體更新部署套件。

建立軟體更新部署套件

  1. 設定與 SMS 提供者的連線。

  2. 使用 SMS_SoftwareUpdatesPackage 類別取得現有的封裝物件。

  3. 使用 方法,將更新內容新增至 AddUpdateContent 現有的套件。

範例

下列範例方法示範如何使用 SMS_SoftwareUpdatesPackage 類別和 AddUpdateContent 方法,將更新新增至軟體更新部署套件。

注意事項

在 C#) 中,內容來源路徑 (必須提供這些更新作為字典物件 addUpdateContentParameters 的一部分。 如果更新存在於套件來源中,該套件來源就無法用於多個部署套件。

重要事項

未包含任何 VBScript 範例,因為 AddUpdateContent 方法不會在失敗時從方法呼叫傳回。 這是已知問題,目前正在進行調查。

如需呼叫範例程式碼的相關資訊,請參閱呼叫Configuration Manager程式碼片段

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;  
    }  
}  

範例方法具有下列參數:

參數 Type 描述
connection -管理: WqlConnectionManager SMS 提供者的有效連線。
existingSUMPackageID -管理: String 現有軟體更新部署套件的套件識別碼。
addUpdateContentParameters - Managed: dictionary 物件 參數集 (ContentIDsContentSourcePathbRefreshDPs) ,這些參數會傳遞至 方法並搭配 AddUpdateContent 方法呼叫使用。

正在編譯程式碼

此 C# 範例需要:

命名空間

系統

System.Collections.Generic

System.Text

Microsoft。ConfigurationManagement.ManagementProvider

Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine

組件

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

健全的程式設計

如需錯誤處理的詳細資訊,請參閱關於Configuration Manager錯誤

.NET Framework 安全性

如需保護Configuration Manager應用程式的詳細資訊,請參閱Configuration Manager角色型系統管理

另請參閱

關於軟體更新部署如何將套件指派給發佈點
SMS_SoftwareUpdatesPackage
類別SMS_SoftwareUpdatesPackage中的 AddUpdateContent 方法