如何將更新新增至部署套件
您可以藉由取得SMS_SoftwareUpdatesPackage類別的實例,以及使用AddUpdateContent方法,在Configuration Manager中將更新新增至軟體更新部署套件。
建立軟體更新部署套件
設定與 SMS 提供者的連線。
使用
SMS_SoftwareUpdatesPackage
類別取得現有的封裝物件。使用 方法,將更新內容新增至
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 物件 |
參數集 (ContentIDs 、 ContentSourcePath bRefreshDPs ) ,這些參數會傳遞至 方法並搭配 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 方法