更新を構成してデプロイする方法
Configuration Managerでソフトウェア更新プログラムの展開を作成するには、SMS_UpdatesAssignment サーバー WMI クラスのインスタンスを作成し、プロパティを設定します。
更新プログラムを構成して展開するには
SMS プロバイダーへの接続を設定します。
SMS_UpdatesAssignment クラスを使用して、新しいデプロイ オブジェクトを作成します。
新しいデプロイ プロパティを設定します。
新しいデプロイとプロパティを保存します。
例
次のメソッド例は、 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」を参照してください。