次の方法で共有


ステータス メッセージを削除する方法

Configuration Managerでは、クラス DeleteByID メソッドを呼び出しSMS_StatusMessage、ステータス メッセージ識別子の配列を指定して、ステータス メッセージRecordIDを削除します。 または、クラス DeleteByQuery メソッドをSMS_StatusMessage呼び出し、削除するステータス メッセージを識別する WQL クエリを指定することもできます。

ステータス メッセージを削除するには

  1. SMS プロバイダーへの接続を設定します。 詳細については、「 SMS プロバイダーの基礎」を参照してください。

  2. 削除する SMS_StatusMessage ステータス メッセージのレコード識別子の配列を持つクラス DeleteByID メソッドを呼び出します。

次の例では、識別子によって識別される 1 つの状態メッセージを recordId 削除します。

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

Sub DeleteStatusMessage(connection, recordId)

    Dim inParams
    Dim outParams
    Dim statusMessageClass

    On Error Resume Next

    ' Obtain the class definition object of a SMS_StatusMessage object.
    Set statusMessageClass = connection.Get("SMS_StatusMessage")

    If Err.Number<>0 Then
        Wscript.Echo "Couldn't get status message class"
        Exit Sub
    End If

    ' Set up the in parameter.
    Set inParams = statusMessageClass.Methods_("DeleteByID").InParameters.SpawnInstance_
    inParams.RecordIDs = Array(recordId)
    If Err.Number<>0 Then
        Wscript.Echo "Couldn't get in parameters object"
        Exit Sub
    End If

    ' Call the method.
    Set outParams = _
        connection.ExecMethod( "SMS_StatusMessage", "DeleteByID", inParams)
    If Err.Number<>0 Then
        Wscript.Echo "Couldn't run method"
        Exit Sub
    End If

    WScript.Echo CStr(outParams.ReturnValue) + " record(s) deleted"

  End Sub
public void DeleteStatusMessage(WqlConnectionManager connection, Int64 recordId)
{
    try
    {
        Dictionary<string, object> StatusMessageParameters = new Dictionary<string, object>();

         // Add the parameters.
        StatusMessageParameters.Add("RecordIDs", new Int64[] { recordId });

        // Call the method.
        IResultObject result = connection.ExecuteMethod("SMS_StatusMessage", "DeleteByID", StatusMessageParameters);

        Console.WriteLine (result["ReturnValue"].IntegerValue + " record(s) deleted");

   }
    catch (SmsException ex)
    {
        Console.WriteLine("Failed to delete error message: ", ex.Message);
        throw;
    }
}

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

パラメーター 説明
Connection - マネージド: WqlConnectionManager
- VBScript: SWbemServices
SMS プロバイダーへの有効な接続。 詳細については、「 SMS プロバイダーの基礎」を参照してください。
recordId -管理: Integer
-Vbscript: Integer
ステータス メッセージ識別子。 これは、 SMS_StatusMessage 削除するステータス メッセージのオブジェクト RecordID プロパティです。

コードのコンパイル

この 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」を参照してください。

関連項目

状態メッセージについてWMI を使用してUser-Defined状態メッセージを報告する方法