Reporting Services WMI 공급자 액세스

Reporting Services WMI 공급자는 스크립팅을 통해 기본 모드 보고서 서버 인스턴스를 관리하기 위해 두 개의 WMI 클래스를 노출합니다.

Important

SQL Server 2012(11.x) 릴리스부터는 WMI 공급자가 기본 모드 보고서 서버에 대해서만 지원됩니다. SharePoint 모드 보고서 서버는 SharePoint Central 관리istration 페이지 및 PowerShell 스크립트를 사용하여 관리할 수 있습니다.

클래스 네임스페이스 설명
MSReportServer_Instance root\Microsoft\SqlServer\ReportServer\RS_<EncodedInstanceName>\v13 클라이언트가 설치된 보고서 서버에 연결하는 데 필요한 기본 정보를 제공합니다.
MSReportServer_ConfigurationSetting root\Microsoft\SqlServer\ReportServer\RS_<EncodedInstanceName>\v13\Admin 보고서 서버 인스턴스의 설치 및 런타임 매개 변수를 나타냅니다. 이러한 매개 변수는 보고서 서버의 구성 파일에 저장됩니다.

중요 이 클래스는 관리 권한이 있어야만 액세스할 수 있습니다.

위의 각 클래스의 인스턴스는 각 보고서 서버 인스턴스에 대해 만들어집니다. Microsoft 또는 Microsoft 이외의 도구를 사용하여 .NET Framework 자체에서 노출하는 WMI 프로그래밍 인터페이스를 포함하여 보고서 서버에서 노출하는 WMI 개체에 액세스할 수 있습니다. 이 문서에서는 PowerShell 명령 Get-WmiObject를 사용하여 WMI 클래스 인스턴스에 액세스하고 사용하는 방법을 설명합니다.

네임스페이스 문자열에서 인스턴스 이름 확인

Reporting Services WMI 클래스의 네임스페이스 경로에 있는 인스턴스 이름은 명명된 Reporting Services 인스턴스를 설치할 때 지정하는 인스턴스 이름의 인코딩입니다. 즉, 인스턴스 이름의 특수 문자가 인코딩됩니다. 예를 들어 밑줄(_)은 로 _5f인코딩되므로 인스턴스 이름은 My_Instance WMI 네임스페이스 경로에서와 같이 My_5fInstance 인코딩됩니다.

WMI 네임스페이스 경로에 보고서 서버 인스턴스의 인코딩된 인스턴스 이름을 나열하려면 다음 PowerShell 명령을 사용합니다.

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

PowerShell을 사용하여 WMI 클래스에 액세스

WMI 클래스에 액세스하려면 다음 명령을 실행합니다.

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

예를 들어 호스트 myrshost의 기본 보고서 서버 인스턴스에서 MSReportServer_ConfigurationSetting 클래스에 액세스하려면 다음 명령을 실행합니다. 이 명령이 성공하려면 기본 보고서 서버 인스턴스를 myrshost에 설치해야 합니다.

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

이 명령 구문은 모든 클래스 속성 이름 및 값을 출력합니다. 기본 보고서 서버 인스턴스(RS_MSSQLSERVER)의 네임스페이스에 있는 클래스에 액세스하더라도 MSReportServer_ConfigurationSetting 클래스의 모든 인스턴스가 반환됩니다. 예를 들어 기본 보고서 서버 인스턴스 및 SHAREPOINT라는 명명된 보고서 서버 인스턴스와 함께 myrshost를 설치할 수 있습니다. 이 명령은 두 WMI 개체를 반환하고 두 보고서 서버 인스턴스의 속성 이름과 값을 출력합니다.

여러 인스턴스가 반환되는 경우 특정 클래스 인스턴스를 반환하려면 -Filter 매개 변수를 사용하여 InstanceName과 같은 고유한 값을 가진 속성에 따라 결과를 필터링합니다. 예를 들어 기본 보고서 서버 인스턴스에 대한 WMI 개체만 반환하려면 다음 명령을 사용합니다.

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

사용 가능한 메서드 및 속성 쿼리

Reporting Services WMI 클래스 중 하나에서 사용할 수 있는 메서드와 속성을 확인하려면 Get-WmiObject의 결과를 Get-Member 명령으로 파이프합니다. 예시:

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

WMI 메서드 또는 속성 사용

Reporting Services 클래스에 대한 WMI 개체가 있고 사용 가능한 메서드와 속성을 알면 이러한 메서드와 속성을 사용할 수 있습니다. 예를 들어 SharePoint 통합 모드에서 SHAREPOINT라는 명명된 보고서 서버 인스턴스가 있는 경우 다음 명령 순서를 사용하여 SharePoint Central 관리istration 사이트의 URL을 검색합니다.

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

Reporting Services WMI 공급자 라이브러리 참조(SSRS)
RsReportServer.config 구성 파일