Delen via


Statusberichten User-Defined rapporteren

In Configuration Manager kunt u door de gebruiker gedefinieerde informatieve, waarschuwings- en foutberichten op de siteserver rapporteren met behulp van de volgende methoden die zijn gedefinieerd in de SMS_StatusMessage klasse:

Methode Beschrijving
RaiseErrorStatusMsg Genereert een foutbericht over de status.
RaiseWarningStatusMsg Geeft een waarschuwingsstatusbericht.
RaiseInformationalStatusMsg Genereert een informatief statusbericht.

Een door de gebruiker gedefinieerd statusbericht rapporteren met behulp van WMI

  1. Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.

  2. Roep de SMS_StatusMessage klassemethode aan die geschikt is voor het type statusbericht dat u wilt genereren.

Voorbeeld

In het volgende voorbeeld wordt een foutbericht weergegeven. Het definieert ook een kenmerk-id en kenmerkwaarden voor een pakket. Zie WMI-klasse SMS_StatMsgAttributes server voor meer informatie over kenmerken.

In het voorbeeld is de LocaleID eigenschap vastgelegd in het Engels (VS). Als u de landinstelling nodig hebt voor niet-Amerikaanse installaties kunt u deze ophalen via de WMI-klasse-eigenschapLocaleID SMS_Identification-server.

Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.

Sub RaiseErrorStatusMessage(connection)

    Dim smsContext
    Dim statusMessageParameters
    Dim inParams
    Dim statusMessageClass

    Set smsContext = CreateObject("WbemScripting.SWbemNamedValueSet")

    ' Add the context qualifiers to the set.
    smsContext.Add "LocaleID", "MS\1033"
    smsContext.Add "MachineName", "MyComputerName"
    smsContext.Add "ApplicationName", "MyApplication"

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

    ' Set up the in parameter.
    Set inParams = statusMessageClass.Methods_("RaiseErrorStatusMsg").InParameters.SpawnInstance_
    inParams.MessageText = "This is an error message"
    inParams.MessageType = 768
    inParams.AttrIDs = Array(400)
    inParams.AttrValues = Array("MyPackageID")

    Call connection.ExecMethod( "SMS_StatusMessage", "RaiseErrorStatusMsg", inParams,,smsContext)
    If Err.Number<>0 Then
        Wscript.Echo "Couldn't run method"
        Exit Sub
    End If

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

        connection.Context.Add("ApplicationName", "MyApplication");
        connection.Context.Add("MachineName", "MyComputerName");
        connection.Context.Add("LocaleID", @"MS\1033");

        // Add the parameters.
        StatusMessageParameters.Add("MessageText", "This is an error message");
        StatusMessageParameters.Add("MessageType", 768);
        StatusMessageParameters.Add("AttrIDs", new int[] { 400 });
        StatusMessageParameters.Add("AttrValues", new string[] { "MyPackageID" });

        // Call the method.
        connection.ExecuteMethod("SMS_StatusMessage", "RaiseErrorStatusMsg", StatusMessageParameters);

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

De voorbeeldmethode heeft de volgende parameters:

Parameter Type Beschrijving
connection - Beheerd: WqlConnectionManager
- VBScript: SWbemServices
Een geldige verbinding met de SMS-provider. Zie Basisprincipes van SMS-provider voor meer informatie.

De code compileren

Voor dit C#-voorbeeld is het volgende vereist:

Naamruimten

Systeem

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Vergadering

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Robuust programmeren

Zie Over Configuration Manager fouten voor meer informatie over foutafhandeling.

.NET Framework Beveiliging

Zie Configuration Manager op rollen gebaseerd beheer voor meer informatie over het beveiligen van Configuration Manager toepassingen.

Zie ook

Over statusberichtenSMS_StatusMessage Server WMI-klasseStatusberichten verwijderen