更新を構成してデプロイする方法

Configuration Managerでソフトウェア更新プログラムの展開を作成するには、SMS_UpdatesAssignment サーバー 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