How to configure and deploy Updates

Configuration Manager でソフトウェア更新プログラムの展開を作成するには、SMS_UpdatesAssignment Server WMI クラスのインスタンスを作成し、プロパティを入力します。

更新プログラムを構成して展開するには

  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
配置をサブターゲットに適用するかどうかを決定します。

- True
- False
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
新しいロケール ID。
newLogComplianceToWinEvent - 管理対象: Boolean
- VBScript: Boolean
コンプライアンスが Windows イベント ログに記録されるかどうかを決定します。

- True
- False
newNotifyUser - 管理対象: Boolean
- VBScript: Boolean
ユーザーに通知するかどうかを識別します。

- True
- False
newRaiseMomAlertsOnFailure - 管理対象: Boolean
- VBScript: Boolean
失敗時に MOM アラートが発生するかどうかを識別します。

- True
- False
newSendDetailedNonComplianceStatus - 管理対象: Boolean
- VBScript: Boolean
詳細なコンプライアンス違反状態が送信されるかどうかを識別します。

- True
- False
newStartTime - 管理対象: String
- VBScript: String
新しい開始時刻。
newSuppressReboot - 管理対象: Integer
- VBScript: Integer
再起動が抑制されているかどうかを識別します。
newTargetCollectionID - 管理対象: String
- VBScript: String
新しいターゲット コレクション ID。
newUseGMTTimes - 管理対象: Boolean
- VBScript: Boolean
協定世界時 (UTC) を使用するかどうかを識別します。

- True
- False

コードのコンパイル

この C# の例では、次のものが必要です。

名前空間

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

Microsoft.ConfigurationManagement.ManagementProvider

堅牢なプログラミング

エラー処理の詳細については、「Configuration Manager のエラーについて」を参照してください。

.NET Framework のセキュリティ

Configuration Manager アプリケーションのセキュリティ保護の詳細については、「Configuration Manager ロールベースの管理」を参照してください。

関連項目

ソフトウェア更新プログラムの展開について

SMS_UpdatesAssignment