PowerShell
Edit|Remove
# Remember to dot source script 
. .\Invoke-ReportExecution.ps1
 If you find this useful please share feedback using Q&A page.
FYI - Do not forget to change the address of your SSRS web server.
 Currently supports both parametrized & non-parameterized reports. Works by utilizing ReportExecution namespace 
 SQL Reporting SOAP API. Currently supporting Xml,Csv formats. Accepts credentials. Please modify the code to match
 your SCOM/SCCM reporting server urls.   
PowerShell
Edit|Remove
<# 
        .SYNOPSIS 
        Allows you to specify an SCCM or SCOM report name and converts the report fields into objects. 
         
        .DESCRIPTION 

 
        .PARAMETER ReportPath 
        Provide the path to the report, for example for the "All Advertisements" reports use '/ConfigMgr/Advertisements/All Advertisements' 
 
        .PARAMATER Application 
        Either SCOM,SCCM or any SSRS enabled application 
 
        .EXAMPLE 
        $results = Invoke-ReportExecution -ReportPath '/ConfigMgr/Advertisements/All Advertisements'; $results | Where-Object Advertisement_Id -eq 'MC0202E9' 
 
        Advertisement_Id     : MC0202E9 
        Display_Name         : Example DisplayName 
        Package_Name         : MyPackageName 
        Package_ID           : 000306 
        Package_Program      : * 
        Collection_Name      : SCCMCollectionName 
        Collection_ID        : 0003E9 
        Elevation_Start_Time : 7/9/2016 9:00:00 PM 
        Expiration_Time      : 7/10/2016 5:30:00 AM 
        Advertisement_Name   : MyAdvertisementName 
 
        .EXAMPLE 
        $myTable = @{'AdvertID' = 'MC0202E9'} 
        Invoke-ReportExecution -ReportPath '/ConfigMgr/Advertisements/Status of Specific Advertisement' -ReportParameter $myTable 
 
        Resource_Receipt_Status  Number_of_Resources  Percentage_of_Resources  AdvertisementID  
        -----------------------  -------------------  -----------------------  ---------------  
        Expired                  12                   100.00%                  MC0202E9         
        Resource_Receipt_Status2 Number_of_Resources2 Percentage_of_Resources2 AdvertisementID2 
        Failed                   4                    33.00                    MC0202E9         
        Succeeded                8                    66.00                    MC0202E9 
 
        .EXAMPLE 
        $myTable = @{StateName = 'Failed'; AdvertID = 'MC0202E9'} 
        Invoke-ReportExecution -ReportPath '/ConfigMgr/Task Sequence - Deployment Status/All system resources for a task sequence deployment in a specific state' -ReportParameter $myTable | Format-Table -AutoSize 
 
        Computer Name Last Step Installed Site Code Deployment ID Resource ID Total Number of Failures Last Status Message ID Last Status Message Name                                                                 Last Status Time (UTC) 
        ------------- --------- ------------------- ------------- ----------- ------------------------ ---------------------- ------------------------                                                                 ---------------------- 
        ServerName    66        VG1                 MC0202E9      16780713    1                        11170                  The task sequence manager could not successfully complete execution of the task sequence 7/9/2016 3:23:40 PM 
        ServerName1   66        VG1                 MC0202E9      16780714    1                        11170                  The task sequence manager could not successfully complete execution of the task sequence 7/9/2016 3:11:08 PM 
        ServerName2   66        VG1                 MC0202E9      16780726    1                        11170                  The task sequence manager could not successfully complete execution of the task sequence 7/9/2016 3:29:42 PM 
        ServerName3   66        VG1                 MC0202E9      16780742    1                        11170                  The task sequence manager could not successfully complete execution of the task sequence 7/9/2016 3:36:02 PM 
 
        .LINK 
        Test-IsFileLocked 
 
        .OUTPUTS 
        PSCustomObject 
 
        .NOTES 
        CHANGELOG 
        v1.0 10/15/15 albvar - Have been using this internally since 10/15/15 - it's time to share with the community. Please share 
        feedback and or suggestions 
#>