업데이트를 구성 및 배포하는 방법How to Configure and Deploy Updates

Configuration Manager에서 SMS_UpdatesAssignment SERVER WMI 클래스 의 인스턴스를 만들고 속성을 채워서 소프트웨어 업데이트 배포를 만듭니다.You create a software updates deployment, in Configuration Manager, by creating an instance of the SMS_UpdatesAssignment Server WMI Class and populating the properties.

업데이트를 구성 하 고 배포 하려면To configure and deploy updates

  1. SMS 공급자에 대한 연결을 설정합니다.Set up a connection to the SMS Provider.

  2. SMS_UpdatesAssignment 클래스를 사용 하 여 새 배포 개체를 만듭니다.Create the new deployment object by using the SMS_UpdatesAssignment class.

  3. 새 배포 속성을 채웁니다.Populate the new deployment properties.

  4. 새 배포 및 속성을 저장 합니다.Save the new deployment and properties.

예제Example

다음 예제 메서드는 SMS_UpdatesAssignment 클래스를 사용 하 여 소프트웨어 업데이트 배포를 만드는 방법을 보여 줍니다.The following example method shows how to create a software updates deployment by using the SMS_UpdatesAssignment class. 예제 메서드의 매개 변수는의 특정 속성을 반영 합니다 SMS_UpdatesAssignment .Note that the parameters of the example method reflect certain properties of SMS_UpdatesAssignment.

중요

아래 메서드에는 할당 된 구성 항목 (CI_IDs)의 배열이 필요 합니다.The methods below require an array of the assigned configuration items (CI_IDs). 이러한 CI_IDs에 대 한 업데이트 콘텐츠가 이미 다운로드 되어 업데이트 배포 패키지에 추가 되어 있어야 합니다.The update content for these CI_IDs must have already been downloaded and added to an updates deployment package.

샘플 코드를 호출하는 방법에 대한 자세한 내용은 Configuration Manager 코드 조각 호출을 참조하세요.For information about calling the sample code, see Calling Configuration Manager Code Snippets.


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

예제 메서드에는 다음과 같은 매개 변수가 포함되어 있습니다.The example method has the following parameters:

매개 변수Parameter 형식Type DescriptionDescription
Connection - 관리 코드: WqlConnectionManager- Managed: WqlConnectionManager
- VBScript: SWbemServices- VBScript: SWbemServices
SMS 공급자에 대한 유효한 연결입니다.A valid connection to the SMS Provider.
newApplyToSubTargets - 관리 코드: Boolean- Managed: Boolean
- VBScript: Boolean- VBScript: Boolean
배포가 하위 대상에 적용 되는지 여부를 결정 합니다.Determines whether the deployment applies to subtargets.

- True- True
- False- False
newArrayAssignedCIs -관리: Integer 배열- Managed: Integer array
-VBScript: Integer array- VBScript: Integer array
할당 된 구성 항목 (CI_IDs)의 배열입니다.An array of the assigned configuration items (CI_IDs). 이러한 CI_IDs에 대 한 업데이트 콘텐츠가 이미 다운로드 되어 업데이트 배포 패키지에 추가 되어 있어야 합니다.The update content for these CI_IDs must have already been downloaded and added to an updates deployment package.
newAssignmentAction - 관리 코드: Integer- Managed: Integer
- VBScript: Integer- VBScript: Integer
새 할당 동작입니다.The new assignment action.
newAssignmentDescription - 관리 코드: String- Managed: String
- VBScript: String- VBScript: String
새 할당 설명입니다.The new assignment description.
newAssignmentName - 관리 코드: String- Managed: String
- VBScript: String- VBScript: String
새 할당 이름입니다.The new assignment name.
newDesiredConfigType - 관리 코드: Integer- Managed: Integer
- VBScript: Integer- VBScript: Integer
새 desired 구성 유형입니다.The new desired configuration type.
newDPLocality - 관리 코드: Integer- Managed: Integer
- VBScript: Integer- VBScript: Integer
새 배포 지점 위치입니다.The new distribution point locality.
newLocaleID - 관리 코드: Integer- Managed: Integer
- VBScript: Integer- VBScript: Integer
새 로캘 ID입니다.The new locale ID.
newLogComplianceToWinEvent - 관리 코드: Boolean- Managed: Boolean
- VBScript: Boolean- VBScript: Boolean
준수가 Windows 이벤트 로그에 기록 되는지 여부를 결정 합니다.Determines whether compliance is logged to the Windows Event log.

- True- True
- False- False
newNotifyUser - 관리 코드: Boolean- Managed: Boolean
- VBScript: Boolean- VBScript: Boolean
사용자에 게 알릴지 여부를 식별 합니다.Identifies whether users are notified.

- True- True
- False- False
newRaiseMomAlertsOnFailure - 관리 코드: Boolean- Managed: Boolean
- VBScript: Boolean- VBScript: Boolean
실패 시 MOM 경고가 발생 하는지 여부를 식별 합니다.Identifies whether MOM alerts are raised on failure.

- True- True
- False- False
newSendDetailedNonComplianceStatus - 관리 코드: Boolean- Managed: Boolean
- VBScript: Boolean- VBScript: Boolean
자세한 비호환 상태를 보낼지 여부를 식별 합니다.Identifies whether detailed noncompliance status is sent.

- True- True
- False- False
newStartTime - 관리 코드: String- Managed: String
- VBScript: String- VBScript: String
새 시작 시간입니다.The new start time.
newSuppressReboot - 관리 코드: Integer- Managed: Integer
- VBScript: Integer- VBScript: Integer
다시 부팅이 억제 되는지 여부를 식별 합니다.Identifies whether reboot is suppressed.
newTargetCollectionID - 관리 코드: String- Managed: String
- VBScript: String- VBScript: String
새 대상 컬렉션 Id입니다.The new target collection IDs.
newUseGMTTimes - 관리 코드: Boolean- Managed: Boolean
- VBScript: Boolean- VBScript: Boolean
UTC (협정 세계시)를 사용할지 여부를 식별 합니다.Identifies whether to use Coordinated Universal Time (UTC).

- True- True
- False- False

코드 컴파일Compiling the Code

이 c # 예제에는 다음이 필요 합니다.This C# example requires:

네임스페이스Namespaces

시스템System

System.Collections.GenericSystem.Collections.Generic

System.TextSystem.Text

Microsoft.ConfigurationManagement.ManagementProviderMicrosoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngineMicrosoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

어셈블리Assembly

adminui.wqlqueryengineadminui.wqlqueryengine

microsoft.configurationmanagement.managementprovidermicrosoft.configurationmanagement.managementprovider

강력한 프로그래밍Robust Programming

오류 처리에 대한 자세한 내용은 Configuration Manager 오류 정보를 참조하세요.For more information about error handling, see About Configuration Manager Errors.

.NET Framework 보안.NET Framework Security

Configuration Manager 응용 프로그램을 보호 하는 방법에 대 한 자세한 내용은 역할 기반 관리 Configuration Manager를 참조 하세요.For more information about securing Configuration Manager applications, see Configuration Manager role-based administration.

참고 항목See also

소프트웨어 업데이트 배포 정보About software update deployments

SMS_UpdatesAssignmentSMS_UpdatesAssignment