Поделиться через


Настройка и развертывание Обновления

Вы создаете развертывание обновлений программного обеспечения в Configuration Manager путем создания экземпляра класса WMI сервера SMS_UpdatesAssignment и заполнения свойств.

Настройка и развертывание обновлений

  1. Настройте подключение к поставщику SMS.

  2. Создайте новый объект развертывания с помощью класса SMS_UpdatesAssignment .

  3. Заполните новые свойства развертывания.

  4. Сохраните новое развертывание и свойства.

Пример

В следующем примере метода показано, как создать развертывание обновлений программного обеспечения с помощью класса SMS_UpdatesAssignment . Обратите внимание, что параметры примера метода отражают определенные свойства SMS_UpdatesAssignment.

Важно!

Для методов ниже требуется массив назначенных элементов конфигурации (CI_IDs). Содержимое обновлений для этих CI_IDs должно быть уже загружено и добавлено в пакет развертывания обновлений.

Сведения о вызове примера кода см. в разделе Вызов фрагментов кода Configuration Manager.


Sub ConfigureAndDeploySUMUpdates(connection,                             _  
                                  newApplyToSubTargets,                  _  
                                  newArrayAssignedCIs,                   _  
                                  newAssignmentAction,                   _  
                                  newAssignmentDescription,              _  
                                  newAssignmentName,                     _  
                                  newDesiredConfigType,                  _  
                                  newDPLocality,                         _   
                                  newLocaleID,                           _  
                                  newLogComplianceToWinEvent,            _  
                                  newNotifyUser,                         _  
                                  newRaiseMomAlertsOnFailure,            _  
                                  newSendDetailedNonComplianceStatus,    _  
                                  newStartTime,                          _  
                                  newSuppressReboot,                     _  
                                  newTargetCollectionID,                 _  
                                  newUseGMTTimes)  

  ' Create the new deployment object.  
  Set newSUMUpdatesAssignment = connection.Get("SMS_UpdatesAssignment").SpawnInstance_  

  ' Populate the deployment properties.  
  newSUMUpdatesAssignment.ApplyToSubTargets = newApplyToSubTargets  
  newSUMUpdatesAssignment.AssignedCIs = newArrayAssignedCIs  
  newSUMUpdatesAssignment.AssignmentAction = newAssignmentAction  
  newSUMUpdatesAssignment.AssignmentDescription = newAssignmentDescription  
  newSUMUpdatesAssignment.AssignmentName = newAssignmentName  
  newSUMUpdatesAssignment.DesiredConfigType = newDesiredConfigType  
  newSUMUpdatesAssignment.DPLocality = newDPLocality  
  newSUMUpdatesAssignment.LocaleID = newLocaleID  
  newSUMUpdatesAssignment.LogComplianceToWinEvent = newLogComplianceToWinEvent  
  newSUMUpdatesAssignment.NotifyUser = newNotifyUser  
  newSUMUpdatesAssignment.RaiseMomAlertsOnFailure = newRaiseMomAlertsOnFailure  
  newSUMUpdatesAssignment.SendDetailedNonComplianceStatus = newSendDetailedNonComplianceStatus  
  newSUMUpdatesAssignment.StartTime = newStartTime  
  newSUMUpdatesAssignment.SuppressReboot = newSuppressReboot  
  newSUMUpdatesAssignment.TargetCollectionID = newTargetCollectionID  
  newSUMUpdatesAssignment.UseGMTTimes = newUseGMTTimes  

  ' Save the new deployment and properties.  
  newSUMUpdatesAssignment.Put_   

  ' Output the new deployment name.  
  Wscript.Echo "Created new deployment " & newSUMUpdatesAssignment.AssignmentName                    

End Sub  


public void ConfigureAndDeploySUMUpdates(WqlConnectionManager connection,  
                                        bool newApplyToSubTargets,  
                                        int[] newArrayAssignedCIs,  
                                        int newAssignmentAction,  
                                        string newAssignmentDescription,  
                                        string newAssignmentName,  
                                        int newDesiredConfigType,  
                                        int newDPLocality,  
                                        int newLocaleID,  
                                        bool newLogComplianceToWinEvent,  
                                        bool newNotifyUser,  
                                        bool newRaiseMomAlertsOnFailure,  
                                        bool newSendDetailedNonComplianceStatus,  
                                        string newStartTime,  
                                        int newSuppressReboot,  
                                        string newTargetCollectionID,  
                                        bool newUseGMTTimes)      
{  
    try  
    {  

        // Create the deployment object.  
        IResultObject newSUMUpdatesAssignment = connection.CreateInstance("SMS_UpdatesAssignment");  

        // Populate new deployment properties.  
        // Note: newTemplateName must be unique.  

        newSUMUpdatesAssignment["ApplyToSubTargets"].BooleanValue = newApplyToSubTargets;  
        newSUMUpdatesAssignment["AssignedCIs"].IntegerArrayValue = newArrayAssignedCIs;  
        newSUMUpdatesAssignment["AssignmentAction"].IntegerValue = newAssignmentAction;  
        newSUMUpdatesAssignment["AssignmentDescription"].StringValue = newAssignmentDescription;         
        newSUMUpdatesAssignment["AssignmentName"].StringValue = newAssignmentName;  
        newSUMUpdatesAssignment["DesiredConfigType"].IntegerValue = newDesiredConfigType;  
        newSUMUpdatesAssignment["DPLocality"].IntegerValue = newDPLocality;  
        newSUMUpdatesAssignment["LocaleID"].IntegerValue = newLocaleID;  
        newSUMUpdatesAssignment["LogComplianceToWinEvent"].BooleanValue = newLogComplianceToWinEvent;  
        newSUMUpdatesAssignment["NotifyUser"].BooleanValue = newNotifyUser;  
        newSUMUpdatesAssignment["RaiseMomAlertsOnFailure"].BooleanValue = newRaiseMomAlertsOnFailure;  
        newSUMUpdatesAssignment["SendDetailedNonComplianceStatus"].BooleanValue = newSendDetailedNonComplianceStatus;  
        newSUMUpdatesAssignment["StartTime"].DateTimeValue = newStartTime;  
        newSUMUpdatesAssignment["SuppressReboot"].IntegerValue = newSuppressReboot;  
        newSUMUpdatesAssignment["TargetCollectionID"].StringValue = newTargetCollectionID;  
        newSUMUpdatesAssignment["UseGMTTimes"].BooleanValue = newUseGMTTimes;  

        // Save new deployment and new deployment properties.  
        newSUMUpdatesAssignment.Put();  

        // Output the new deployment name.  
        Console.WriteLine("Created deployment: " + newAssignmentName);  
    }  

    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to create newSUMUpdatesAssignment. Error: " + ex.Message);  
        throw;  
    }  
}  

Метод примера имеет следующие параметры:

Параметр Тип Описание
Connection -Управляемых: WqlConnectionManager
— VBScript: SWbemServices
Допустимое подключение к поставщику SMS.
newApplyToSubTargets -Управляемых: Boolean
-Vbscript: Boolean
Определяет, применяется ли развертывание к подцелям.

-Истинный
-Ложных
newArrayAssignedCIs — Управляемый: Integer массив
— VBScript: Integer массив
Массив назначенных элементов конфигурации (CI_IDs). Содержимое обновлений для этих CI_IDs должно быть уже загружено и добавлено в пакет развертывания обновлений.
newAssignmentAction -Управляемых: Integer
-Vbscript: Integer
Новое действие назначения.
newAssignmentDescription -Управляемых: String
-Vbscript: String
Описание нового назначения.
newAssignmentName -Управляемых: String
-Vbscript: String
Новое имя назначения.
newDesiredConfigType -Управляемых: Integer
-Vbscript: Integer
Новый требуемый тип конфигурации.
newDPLocality -Управляемых: Integer
-Vbscript: Integer
Новое расположение точки распространения.
newLocaleID -Управляемых: Integer
-Vbscript: Integer
Новый идентификатор языкового стандарта.
newLogComplianceToWinEvent -Управляемых: Boolean
-Vbscript: Boolean
Определяет, регистрируется ли соответствие в журнале событий Windows.

-Истинный
-Ложных
newNotifyUser -Управляемых: Boolean
-Vbscript: Boolean
Определяет, уведомляются ли пользователи.

-Истинный
-Ложных
newRaiseMomAlertsOnFailure -Управляемых: Boolean
-Vbscript: Boolean
Определяет, создаются ли оповещения MOM при сбое.

-Истинный
-Ложных
newSendDetailedNonComplianceStatus -Управляемых: Boolean
-Vbscript: Boolean
Определяет, отправляется ли подробное состояние несоответствия.

-Истинный
-Ложных
newStartTime -Управляемых: String
-Vbscript: String
Новое время начала.
newSuppressReboot -Управляемых: Integer
-Vbscript: Integer
Определяет, подавляется ли перезагрузка.
newTargetCollectionID -Управляемых: String
-Vbscript: String
Новые идентификаторы целевой коллекции.
newUseGMTTimes -Управляемых: Boolean
-Vbscript: Boolean
Определяет, следует ли использовать универсальное координированное время (UTC).

-Истинный
-Ложных

Компиляция программы

Для этого примера на 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_UpdatesAssignment