Partager via


Classe MSReportServer_ConfigurationSetting

Représente les paramètres d'installation et d'exécution d'une instance de serveur de rapports. Ces paramètres sont stockés dans le fichier de configuration du serveur de rapports.

Pour obtenir la liste de tous les membres de ce type, consultez Membres MSReportServer_ConfigurationSetting.

Syntaxe

Public Class MSReportServer_ConfigurationSetting
public class MSReportServer_ConfigurationSetting

Sécurité des threads

Tous les membres publics statiques (Partagés dans Visual Basic) de ce type sont sécurisés pour les opérations multithread. Il n'est pas garanti que les membres d'instance soient thread-safe.

Exemple

Pour exécuter le code suivant, ajoutez le nom de votre serveur à la place de chaque <servername>. Mettez à jour le chemin d'accès de façon à pointer vers votre emplacement d'installation, s'il ne s'agit pas de la valeur par défaut. L'exemple de code suivant parcourt chaque propriété dans la classe MSReportServer_ConfigurationSetting et affiche le nom de chaque propriété et sa valeur sur la console.

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();
      }
   }
}

Conditions requises

Espace de noms : root\Microsoft\SqlServer\ReportServer\RS_<EncodedInstanceName>\v10\Admin

Plateforme : Windows Server 2003, Datacenter Edition ; Windows Server 2003, Enterprise Edition ; Windows Server 2003, Standard Edition ; Windows Vista ; Windows XP Professionnel avec Service Pack 2 (SP2) ou Service Pack 1 (SP1) ; ou Windows 2000 (toutes versions)