Dostawca WMI usług raportowania

Usługi Reporting Services Instrumentacja zarządzania Windows dostawcy jest zbudowana na standard Instrumentacja zarządzania Windows (Instrumentacja zarządzania Windows) technologii dostępu do informacji o kontroli i zarządzania w środowisku przedsiębiorstwa.Dostawca WMI dla Reporting Services służy jako dostawca wystąpień mapowania serwer raportów elementy konfiguracja XML do zestaw klasy, które zawierają metody, które może wywoływać, aby dodać, usunąć lub zmodyfikować serwer raportów informacje o konfiguracja.Aby uzyskać więcej informacji na temat klas, zobacz Biblioteka dostawcy WMI usług raportowania.

Omówienie dostawcy usługi WMI

Klas WMI są uwzględnione w Reporting Services , aby umożliwić serwer raportów i składniki Menedżer raportów kontrolowane na komputerach lokalnych i zdalnych, aby umożliwiają wykrywanie, którego maszyny w sieci, która jest uruchomiona usługa serwera sieci Web raportui uaktywnić instalację serwera raportów do wdrożenie skalowalne w poziomie.Administratorzy systemu i Administratorzy bazy danych można użyć tych klas, aby wprowadzić zmiany w konfiguracji serwer raportów i Menedżer raportów, po zakończeniu instalacji lub do wykonywania zadań administracyjnych serwera lokalnego lub zdalnego.Zadania obejmują modyfikowania bazy danych poświadczenia połączenia między serwerem raportu i baza danych serwera raportów, modyfikowanie nazwy bazy danych serwer raportów i zmiana adresu URL, który definiuje ścieżka instalacji do wystąpienie serwera raportu lub Menedżer raportów.

Zainstalowane do tych funkcji obsługi klas są następujące:

The namespace used to obtain information about Reporting Services in the code samples shown in this topic is the System.Management namespace, found in the Microsoft .NET Framework.Ze składnika System.Management nazw zawiera zestaw klas kod zarządzany, przez który .NET Framework aplikacje mogą uzyskiwać dostęp i manipulowanie informacji zarządzania.For more information on using the Reporting Services WMI classes using the System.Management namespace, see "Accessing Management Information with System.Managment" in the Microsoft .NET Framework SDK.

Znajdowanie wystąpienie serwera raportów

Jeśli komputer ma wiele wystąpień serwer raportów zainstalowane, administrator musi wskazywać dokładne wystąpienie na komputerze, którego właściwości są modyfikowane.Aby znaleźć bezpośrednio wystąpienie, każda klasa zawiera właściwość, która jest zdefiniowana jako klucz.Ta właściwość klucz unikatowo identyfikuje instalacji serwer raportów.Właściwość zdefiniowano jako klucz jest Nazwa_ścieżki właściwości.Wartość tej właściwość jest ścieżka do pliku konfiguracja RSReportServer.config łącznie z nazwą pliku konfiguracyjnego.Dla większości instalacji ta ścieżka będzie podobny do następującego:

C:\Program Files\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportServer\rsreportserver.config

Ostrzeżenie

Znaki specjalne w wystąpienie nazwęznaku podkreślenia (_) w wystąpienie nazwa jest przekształcane jako "_5f" w Nazwa_ścieżki właściwość.Na przykład:

  • Nazwa wystąpienia = My_Instance

  • Nazwa ścieżki właściwość = My_5fInstance

Po MSReportServer_ConfigurationSetting klasy jest tworzony, można wypełnić klucz i wyszukiwać komputer dla wystąpienie programu serwer raportów lub Menedżer raportów, który pasuje do klucz.Jeśli znaleziono, wypełnić kolekcja zarządzania z resztą wartości z tego wystąpienie.

Podczas wypełniania kolekcja i pętli Klasa zarządzania, aby wyświetlić informacje można również uzyskać informacje.Ten kod korzystający z programu Visual Studio.NET, Dodaj odwołanie projektu do ze składnika System.Management.W poniższym przykładzie założono, że RSReportServer.config plik konfiguracja znajduje się w folderze C:\Program Files\Microsoft SQL Server\MSRS10_50.<Nazwa_wystąpienia>\Reporting Services\ReportServer\bin.Opisy metod w klasie ze składnika System.Management można znaleźć w Microsoft programu Visual Studio.NET SDK.

Preferowany sposób znajdowania informacji w sieci serwer raportów instalacji jest wyliczyć kolekcja wystąpienie WMI.W poniższym przykładzie pokazano, jak znaleźć właściwości na każdym serwer raportów wystąpienia przez tworzenie kolekcja i pętli kolekcja, aby wyświetlić właściwości.

Imports System
Imports System.Management
Imports System.IO

Module Module1
    Sub Main()
        Const WmiNamespace As String = "\\<ServerName>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10\Admin"
        Const WmiRSClass As String = _
           "\\<ServerName>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10\admin:MSReportServer_ConfigurationSetting"

        Dim serverClass As ManagementClass
        Dim scope As ManagementScope
        scope = New ManagementScope(WmiNamespace)
        'Connect to the Reporting Services namespace.
        scope.Connect()

        'Create the server class.
        serverClass = New ManagementClass(WmiRSClass)
        'Connect to the management object.
        serverClass.Get()
        If serverClass Is Nothing Then Throw New Exception("No class found")

        'Loop through the instances of the server class.
        Dim instances As ManagementObjectCollection = serverClass.GetInstances()
        Dim instance As ManagementObject
        For Each instance In instances
            Console.Out.WriteLine("Instance Detected")
            Dim instProps As PropertyDataCollection = instance.Properties
            Dim prop As PropertyData
            For Each prop In instProps
                Dim name As String = prop.Name
                Dim val As Object = prop.Value
                Console.Out.Write("Property Name: " + name)
                If val Is Nothing Then
                    Console.Out.WriteLine("     Value: <null>")
                Else
                    Console.Out.WriteLine("     Value: " + val.ToString())
                End If
            Next
        Next

        Console.WriteLine("--- Press any key ---")
        Console.ReadKey()


    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 WmiNamespace = @"\\<ServerName>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10\Admin";
        const string WmiRSClass =
          @"\\<ServerName>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10\admin:MSReportServer_ConfigurationSetting";
        ManagementClass serverClass;
        ManagementScope scope;
        scope = new ManagementScope(WmiNamespace);

        // Connect to the Reporting Services namespace.
        scope.Connect();
        // Create the server class.
        serverClass = new ManagementClass(WmiRSClass);
        // Connect to the management object.
        serverClass.Get();
        if (serverClass == null)
            throw new Exception("No class found");

        // Loop through the instances of the server class.
        ManagementObjectCollection instances = serverClass.GetInstances();

        foreach (ManagementObject instance in instances)
        {
            Console.Out.WriteLine("Instance Detected");
            PropertyDataCollection instProps = instance.Properties;
            foreach (PropertyData prop in instProps)
            {
                string name = prop.Name;
                object val = prop.Value;
                Console.Out.Write("Property Name: " + name);
                if (val != null)
                    Console.Out.WriteLine("     Value: " + val.ToString());
                else
                    Console.Out.WriteLine("     Value: <null>");
            }
        }
        Console.WriteLine("\n--- Press any key ---");
        Console.ReadKey();
    }
}

Aby uzyskać więcej informacji dotyczących właściwości, które można odczytać lub zmienione serwer raportów i Menedżer raportów, zobacz Biblioteka dostawcy WMI usług raportowania.Więcej informacji na temat właściwości specyficzne dla serwer raportów, zobacz Klasa MSReportServer_ConfigurationSetting.Informacje o domyślnej instalacji konfiguracja plików, zobacz Pliki konfiguracyjne (Reporting Services).