展開パッケージに更新を追加する方法
SMS_SoftwareUpdatesPackage クラスのインスタンスを取得し、AddUpdateContent メソッドを使用して、Configuration Managerのソフトウェア更新プログラム展開パッケージに更新プログラムを追加します。
ソフトウェア更新プログラムの展開パッケージを作成するには
SMS プロバイダーへの接続を設定します。
クラスを使用して、既存のパッケージ オブジェクトを
SMS_SoftwareUpdatesPackage
取得します。メソッドを使用して、既存のパッケージに更新コンテンツを
AddUpdateContent
追加します。
例
次のメソッド例は、 クラスと メソッドを使用してソフトウェア更新プログラムの展開パッケージに更新プログラムを SMS_SoftwareUpdatesPackage
追加する方法を AddUpdateContent
示しています。
注:
更新プログラムは、(C# のディクショナリ オブジェクト addUpdateContentParameters
の一部として) コンテンツ ソース パスで使用できる必要があります。 更新プログラムがパッケージ ソースに存在する場合、そのパッケージ ソースを複数のデプロイ パッケージに使用することはできません。
重要
VBScript の例は含まれていません AddUpdateContent
。メソッドは失敗した場合にメソッド呼び出しから戻りません。 これは既知の問題であり、調査中です。
サンプル コードの呼び出しについては、「Configuration Manager コード スニペットの呼び出し」を参照してください。
C# でのメソッド呼び出しの例:
// PREWORK FOR AddUpdatesToSUMDeploymentPackage
// Define the array of Content Ids to load into addUpdateContentParameters.
int[] newArrayContentIds = new int[] { 82 };
// Define the array of source paths (these must be UNC) to load into addUpdateContentParameters.
string[] newArrayContentSourcePath = new string[] { "\\\\ServerOne\\source1" };
// Load the update content parameters into an object to pass to the method.
Dictionary<string, object> addUpdateContentParameters = new Dictionary<string, object>();
addUpdateContentParameters.Add("ContentIds", newArrayContentIds);
addUpdateContentParameters.Add("ContentSourcePath", newArrayContentSourcePath);
addUpdateContentParameters.Add("bRefreshDPs", false);
AddUpdatestoSUMDeploymentPackage(WMIConnection,
"ABC00001",
addUpdateContentParameters);
public void AddUpdatestoSUMDeploymentPackage(WqlConnectionManager connection,
string existingSUMPackageID,
Dictionary<string, object> addUpdateContentParameters)
{
try
{
// Get the specific SUM Deployment Package to change.
IResultObject existingSUMDeploymentPackage = connection.GetInstance(@"SMS_SoftwareUpdatesPackage.PackageID='" + existingSUMPackageID + "'");
// Add updates to the existing SUM Deployment Package using the AddUpdateContent method.
// Note: The method will throw an exception, if the method is not able to add the content.
existingSUMDeploymentPackage.ExecuteMethod("AddUpdateContent", addUpdateContentParameters);
// Output a success message that the content was added.
Console.WriteLine("Added content to the SUM deployment package. ");
}
catch (SmsException ex)
{
Console.WriteLine("Failed to add content to the SUM deployment package.");
Console.WriteLine("Error: " + ex.Message);
throw;
}
}
このメソッドの例には、次のパラメーターがあります。
パラメーター | 型 | 説明 |
---|---|---|
connection |
-管理: WqlConnectionManager |
SMS プロバイダーへの有効な接続。 |
existingSUMPackageID |
-管理: String |
既存のソフトウェア更新プログラム展開パッケージのパッケージ ID。 |
addUpdateContentParameters |
- マネージド: dictionary オブジェクト |
メソッドに渡され、メソッド呼び出しで使用されるパラメーター (ContentIDs 、 ContentSourcePath 、 bRefreshDPs ) の AddUpdateContent セット。 |
コードのコンパイル
この 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_SoftwareUpdatesPackage
クラス SMS_SoftwareUpdatesPackageの AddUpdateContent メソッド