Добавление Обновления в пакет развертывания
Обновления добавляются в пакет развертывания обновлений программного обеспечения в Configuration Manager путем получения экземпляра класса SMS_SoftwareUpdatesPackage и с помощью метода AddUpdateContent.
Создание пакета развертывания обновлений программного обеспечения
Настройте подключение к поставщику SMS.
Получите существующий объект пакета с помощью
SMS_SoftwareUpdatesPackage
класса .Добавьте обновление содержимого в существующий пакет с помощью
AddUpdateContent
метода .
Пример
В следующем примере метода показано, как добавить обновления в пакет развертывания обновлений программного обеспечения с помощью SMS_SoftwareUpdatesPackage
класса и AddUpdateContent
метода .
Примечание.
Обновления должны быть доступны в пути к источнику содержимого (как часть объекта addUpdateContentParameters
словаря в C#). Если обновления существуют в источнике пакета, этот источник пакета нельзя использовать для нескольких пакетов развертывания.
Важно!
Пример 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;
}
}
Метод примера имеет следующие параметры:
Параметр | Тип | Описание |
---|---|---|
connection |
-Управляемых: WqlConnectionManager |
Допустимое подключение к поставщику SMS. |
existingSUMPackageID |
-Управляемых: String |
Идентификатор пакета для существующего пакета развертывания обновлений программного обеспечения. |
addUpdateContentParameters |
— Управляемый: dictionary объект |
Набор параметров (ContentIDs , ContentSourcePath , bRefreshDPs ), который передается в метод и используется с вызовом AddUpdateContent метода. |
Компиляция программы
Для этого примера на C# требуется следующее:
Пространства имен
System;
System.Collections.Generic;
System.Text
Майкрософт. ConfigurationManagement.ManagementProvider
Майкрософт. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Надежное программирование
Дополнительные сведения об обработке ошибок см. в разделе Сведения об ошибках Configuration Manager.
Безопасность .NET Framework
Дополнительные сведения о защите приложений Configuration Manager см. в статье Configuration Manager администрирование на основе ролей.
См. также
Сведения о развертываниях обновлений программного обеспечения. Назначение пакета точке распространения
SMS_SoftwareUpdatesPackage
Метод AddUpdateContent в классе SMS_SoftwareUpdatesPackage