展開パッケージから更新を削除する方法

SMS_SoftwareUpdatesPackage クラスのインスタンスを取得し、RemoveContent メソッドを使用して、Configuration Managerのソフトウェア更新プログラム展開パッケージから更新プログラムを削除します。

ソフトウェア更新プログラムの展開パッケージから更新プログラムを削除するには

  1. SMS プロバイダーへの接続を設定します。

  2. クラスを使用して、既存のパッケージ オブジェクトを SMS_SoftwareUpdatesPackage 取得します。

  3. メソッドを使用して、既存のソフトウェア更新プログラム管理パッケージから更新コンテンツを削除します RemoveContent

次のメソッド例は、 クラスと メソッドを使用してソフトウェア更新プログラム展開パッケージから更新プログラムを削除する SMS_SoftwareUpdatesPackage 方法を RemoveContent 示しています。

重要

VBScript の例は含まれていません RemoveContent 。メソッドは失敗した場合にメソッド呼び出しから戻りません。 これは既知の問題であり、調査中です。

サンプル コードの呼び出しについては、「Configuration Manager コード スニペットの呼び出し」を参照してください。

C# でのメソッド呼び出しの例:


// Prework for RemoveUpdatesfromSUMDeploymentPackage.  
// Define the array of Content IDs to load into the content parameters.  
int[] newArrayContentIDs2 = new int[] { 82 };  

// Load the update content parameters into an object to pass to the method.  
Dictionary<string, object> removeContentParameters = new Dictionary<string, object>();  
removeContentParameters.Add("ContentIDs", newArrayContentIDs2);  
removeContentParameters.Add("bRefreshDPs", true);  

// Call the RemoveUpdatesfromSUMDeploymentPackage method.  
RemoveUpdatesfromSUMDeploymentPackage(WMIConnection,  
                                      "ABC00001",  
                                      removeContentParameters);  


public void RemoveUpdatesfromSUMDeploymentPackage(WqlConnectionManager connection,  
                                                  string existingSUMPackageID,  
                                                  Dictionary<string, object> removeContentParameters)  
{  
    try  
    {  
        // Get the specific SUM Deployment Package to change.  
        IResultObject existingSUMDeploymentPackage = connection.GetInstance(@"SMS_SoftwareUpdatesPackage.PackageID='" + existingSUMPackageID + "'");  

        // Remove updates from the existing SUM Deployment Package using the RemoveContent method.  
        // Note: The method will throw an exception, if the method is not able to add the content.  
        IResultObject result = existingSUMDeploymentPackage.ExecuteMethod("RemoveContent", removeContentParameters);  

        // Output a success message.  
        Console.WriteLine("Removed content from the deployment package. ");  

    }  
    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to remove content from the deployment package. Error: " + ex.Message);  
        throw;  
    }  
}  

このメソッドの例には、次のパラメーターがあります。

パラメーター 説明
connection -管理: WqlConnectionManager SMS プロバイダーへの有効な接続。
existingSUMPackageID -管理: String 既存のソフトウェア更新プログラム管理パッケージのパッケージ ID。
removecontentParameters -管理: dictionary object メソッドに渡され、メソッド呼び出しで使用されるパラメーター (ContentIDsbRefreshDPs) の RemoveContent セット。

コードのコンパイル

この 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の RemoveContent メソッド