How to Delete Status Messages
Applies To: System Center Configuration Manager 2007, System Center Configuration Manager 2007 R2, System Center Configuration Manager 2007 R3, System Center Configuration Manager 2007 SP1, System Center Configuration Manager 2007 SP2
In Microsoft System Center Configuration Manager 2007, you delete status messages by calling the SMS_StatusMessage class DeleteByID method and supplying an array of status message RecordID identifiers. Alternatively, you can call the SMS_StatusMessage class DeleteByQuery method and supply a WQL query that identifies the status messages to be deleted.
To delete a status message
Set up a connection to the SMS Provider. For more information, see About the SMS Provider in Configuration Manager.
Call the SMS_StatusMessage class DeleteByID method with an array of record identifiers for the status messages to be deleted.
Example
The following example deletes a single status message identified by the recordId identifier.
For information about calling the sample code, see Calling Configuration Manager Code Snippets.
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, int recordId)
{
try
{
Dictionary<string, object> StatusMessageParameters = new Dictionary<string, object>();
// Add the parameters.
StatusMessageParameters.Add("RecordIDs", new int[] { 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;
}
}
The example method has the following parameters:
Parameter | Type | Description |
---|---|---|
Connection |
|
A valid connection to the SMS Provider. For more information, see About the SMS Provider in Configuration Manager. |
recordId |
|
The status message identifier. This is SMS_StatusMessage object RecordID property for the status message to be deleted. |
Compiling the Code
This C# example requires:
Namespaces
System
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Robust Programming
For more information about error handling, see About Configuration Manager Errors.
Security
For more information about securing Configuration Manager applications, see About Securing Configuration Manager Applications.
See Also
Concepts
About Configuration Manager Status and Summarizers
Status Server WMI Classes
How to Report User-Defined Status Messages