Delen via


Toegang tot de WMI-provider van Reporting Services

De WMI-provider van Reporting Services maakt twee WMI-klassen beschikbaar voor het beheer van rapportserverexemplaren in de systeemeigen modus via scripting:

Belangrijk

Vanaf de release van SQL Server 2012 (11.x) wordt de WMI-provider alleen ondersteund voor rapportservers in de systeemeigen modus. Rapportservers in sharePoint-modus kunnen worden beheerd met centraal beheerde SharePoint-pagina's en PowerShell-scripts.

Class Namespace Description
MSReportServer_Instance root\Microsoft\SqlServer\ReportServer\RS_<EncodedInstanceName>\v13 Biedt basisinformatie die vereist is voor een client om verbinding te maken met een geïnstalleerde rapportserver.
MSReportServer_ConfigurationSetting root\Microsoft\SqlServer\ReportServer\RS_<EncodedInstanceName>\v13\Admin Vertegenwoordigt de installatie- en uitvoeringsparameters van een rapportserverexemplaar. Deze parameters worden opgeslagen in het configuratiebestand voor de rapportserver.

**Belangrijk** Deze klasse is alleen toegankelijk met beheerdersbevoegdheden.

Er wordt een exemplaar van elke van de bovenstaande klassen gemaakt voor elke rapportserverexemplaar. U kunt alle Microsoft- of niet-Microsoft-hulpprogramma's gebruiken voor toegang tot de WMI-objecten die door de rapportserver worden weergegeven, inclusief WMI-programmeerinterfaces die door .NET Framework zelf worden weergegeven. In dit artikel wordt beschreven hoe u de WMI-klasse-exemplaren kunt openen en gebruiken met de PowerShell-opdracht Get-WmiObject.

Bepaal de instancenaam in de naampaarstring

De exemplaarnaam in het naamruimtepad voor de Reporting Services WMI-klassen is een codering van de exemplaarnamen die u opgeeft bij het installeren van de benoemde exemplaren van Reporting Services. Speciale tekens in de instantienamen worden namelijk gecodeerd. Een onderstreping (_) wordt bijvoorbeeld gecodeerd als _5f, dus een exemplaarnaam van My_Instance wordt gecodeerd als My_5fInstance in het WMI-naamruimtepad.

Als u de gecodeerde exemplaarnamen van uw rapportserverexemplaren in het pad van de WMI-naamruimte wilt weergeven, gebruikt u de volgende PowerShell-opdracht:

PS C:\windows\system32> Get-WmiObject -namespace root\Microsoft\SqlServer\ReportServer  -class __Namespace -ComputerName hostname | select Name  

Toegang tot de WMI-klassen met behulp van PowerShell

Voer de volgende opdracht uit om toegang te krijgen tot de WMI-klassen:

PS C:\windows\system32> Get-WmiObject -namespace <namespacename> -class <classname> -ComputerName <hostname>  

Als u bijvoorbeeld toegang wilt krijgen tot de MSReportServer_ConfigurationSetting klasse op het standaardexemplaar van de rapportserver met de hostnaam myrshost, voert u de volgende opdracht uit. Het standaardexemplaar van de rapportageserver moet worden geïnstalleerd op myrshost om deze opdracht te kunnen voltooien.

PS C:\windows\system32> Get-WmiObject -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLSERER\v11\Admin" -class MSReportServer_ConfigurationSetting -ComputerName myrshost  

Met deze opdrachtsyntaxis worden alle namen en waarden van klasse-eigenschappen uitgevoerd. Alle exemplaren van de klasse MSReportServer_ConfigurationSetting worden geretourneerd, ook al hebt u toegang tot de klasse in de naamruimte van het standaardexemplaren van de rapportserver (RS_MSSQLSERVER). Myrshost kan bijvoorbeeld worden geïnstalleerd met het standaardexemplaar van de rapportserver en een benoemd exemplaar van de rapportserver genaamd SHAREPOINT. Met deze opdracht worden twee WMI-objecten geretourneerd en worden de eigenschapsnamen en -waarden voor beide rapportserverexemplaren uitgevoerd.

Als u een specifiek klasse-exemplaar wilt retourneren wanneer meerdere exemplaren worden geretourneerd, gebruikt u de parameter -Filter om de resultaten te filteren op basis van eigenschappen met unieke waarden, zoals InstanceName. Als u bijvoorbeeld alleen het WMI-object voor het standaardexemplaar van de rapportserver wilt retourneren, gebruikt u de volgende opdracht:

PS C:\windows\system32> Get-WmiObject -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLServer\v13\Admin" -class MSReportServer_ConfigurationSetting -ComputerName myrshost -filter "InstanceName='MSSQLSERVER'"  

Query's uitvoeren op de beschikbare methoden en eigenschappen

Als u wilt zien welke methoden en eigenschappen beschikbaar zijn in een van de WMI-klassen van Reporting Services, geeft u de resultaten van Get-WmiObject door aan de opdracht Get-Member. Voorbeeld:

PS C:\windows\system32> Get-WmiObject -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLServer\v13\Admin" -class MSReportServer_ConfigurationSetting -ComputerName myrshost | Get-Member  

Een WMI-methode of -eigenschap gebruiken

Zodra u de WMI-objecten hebt voor de Reporting Services-klassen en de beschikbare methoden en eigenschappen kent, kunt u deze methoden en eigenschappen gebruiken. Als u bijvoorbeeld een rapportserverexemplaar met de naam SHAREPOINT in de geïntegreerde modus voor SharePoint hebt, gebruikt u de volgende opdrachtreeks om de URL voor de SharePoint Central Administration-site op te halen:

PS C:\windows\system32> $rsconfig = Get-WmiObject -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLServer\v13\Admin" -class MSReportServer_ConfigurationSetting -ComputerName myrshost -filter "InstanceName='SHAREPOINT'"  
PS C:\windows\system32> $rsconfig.GetAdminSiteUrl()