Share via


Clase MSReportServer_ConfigurationSetting

Representa la instalación y los parámetros de tiempo de ejecución de una instancia del servidor de informes. Estos parámetros se guardan en el archivo de configuración del servidor de informes.

Para obtener una lista de todos los miembros de este tipo, vea Miembros MSReportServer_ConfigurationSetting.

Sintaxis

Public Class MSReportServer_ConfigurationSetting
public class MSReportServer_ConfigurationSetting

Seguridad para subprocesos

Todos los miembros estáticos (compartidos en Visual Basic) públicos de este tipo son seguros para operaciones multiproceso. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Ejemplo

Para ejecutar el código siguiente, agregue su nombre de servidor en lugar de cada <nombre de servidor>. Actualice la ruta de acceso para que señale su ubicación de instalación si no es el valor predeterminado. En el ejemplo de código siguiente se recorre en iteración cada propiedad en la clase MSReportServer_ConfigurationSetting, imprimiendo el nombre de cada propiedad y su valor en la consola.

Imports System
Imports System.Management
Imports System.IO


Module Module1

    Sub Main()
        Const machineWmiNamespace As String = "\\<servername>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10"
        Const wmiNamespace As String = "\\<servername>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10:MSReportServer_ConfigurationSetting"

        Dim connOptions As New ConnectionOptions()
        connOptions.Authentication = AuthenticationLevel.Default

        Dim getOptions As New ObjectGetOptions()
        getOptions.Timeout = New System.TimeSpan(0, 0, 30)

        Dim machineScope As New ManagementScope(machineWmiNamespace, connOptions)
        machineScope.Connect()

        Dim scope As ManagementScope = Nothing

        scope = New ManagementScope(wmiNamespace, connOptions)
        scope.Connect()

        Dim path As New ManagementPath("MSReportServer_Instance")
        Dim serverClass As New ManagementClass(scope, path, getOptions)

        serverClass.Get()

        Dim instances As ManagementObjectCollection = serverClass.GetInstances()

        For Each instance As ManagementObject In instances

            Console.WriteLine("\n-----\nSERVER STATUS:\n")

            Dim serverStatusObject As ManagementBaseObject = instance.InvokeMethod("GetServerStatus", Nothing, Nothing)

            Dim t As Integer = serverStatusObject("Length")

            Dim namesArray As Array = serverStatusObject("Names")
            Dim descArray As Array = serverStatusObject("Descriptions")
            Dim statusArray As Array = serverStatusObject("Statuses")
            Dim severityArray As Array = serverStatusObject("Severities")

            Dim i As Integer

            For i = 0 To t - 1
                Console.WriteLine("{0} - {1}", namesArray.GetValue(i), descArray.GetValue(i))
                Console.WriteLine("Value: {0}, Severity: {1}", statusArray.GetValue(i), severityArray.GetValue(i))
            Next i

        Next instance

    End Sub

End Module
using System;
using System.Management;
using System.IO;
[assembly: CLSCompliant(true)]

class Class1
{
   [STAThread]
   static void Main(string[] args)
   {
      const string machineWmiNamespace = @"\\<servername>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10";
        const string wmiNamespace = @"\\<servername>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10:MSReportServer_ConfigurationSetting";

      ConnectionOptions connOptions = new ConnectionOptions();
      connOptions.Authentication = AuthenticationLevel.Default;

      ObjectGetOptions getOptions = new ObjectGetOptions();
      getOptions.Timeout = new System.TimeSpan(0,0,30);

      ManagementScope machineScope = new ManagementScope(machineWmiNamespace, connOptions);
      machineScope.Connect();

      ManagementScope scope = null;

      scope = new ManagementScope(wmiNamespace, connOptions);
      scope.Connect();

      ManagementPath path = new ManagementPath("MSReportServer_Instance");
      ManagementClass serverClass = new ManagementClass(scope, path, getOptions);

      serverClass.Get();

      ManagementObjectCollection instances = serverClass.GetInstances();

      foreach (ManagementObject instance in instances)
      {


         Console.WriteLine("\n-----\nSERVER STATUS:\n");

         ManagementBaseObject serverStatusObject = instance.InvokeMethod("GetServerStatus", null, null);

         int t = (int)serverStatusObject["Length"];

         Array namesArray = (Array)serverStatusObject["Names"];
         Array descArray = (Array)serverStatusObject["Descriptions"];
         Array statusArray = (Array)serverStatusObject["Statuses"];
         Array severityArray = (Array)serverStatusObject["Severities"];

         for (int i = 0; i < t; i++)
         {
            Console.WriteLine("{0} - {1}",
               (string)namesArray.GetValue(i),(string)descArray.GetValue(i));
            Console.WriteLine("Value: {0}, Severity: {1}",
               (string)statusArray.GetValue(i), (int)severityArray.GetValue(i));
         }

         Console.ReadKey();
      }
   }
}

Requisitos

Espacio de nombres: raíz\Microsoft\SqlServer\servidorDeInformes\RS_<nombreDeInstanciaCodificado>\v10\Admin

Plataforma: Windows Server 2003, Datacenter Edition; Windows Server 2003, Enterprise Edition; Windows Server 2003, Standard Edition; Windows Vista; Windows XP Professional con Service Pack 2 (SP2) o Service Pack 1 (SP1) o Windows 2000 (todas las versiones)