36 lines
1017 B
PowerShell
36 lines
1017 B
PowerShell
|
function Get-PublishedSSRSReports {
|
||
|
<#
|
||
|
.SYNOPSIS
|
||
|
Get the list of Published SSRS reports from a SQL Reports Server
|
||
|
|
||
|
.PARAMETER Proxy
|
||
|
The SOAP client proxy used to query the SQL Reports Server
|
||
|
|
||
|
.PARAMETER Folder
|
||
|
The Reports Folder on the SQL Reports Server to query for published reports
|
||
|
#>
|
||
|
|
||
|
[CmdletBinding()]
|
||
|
Param(
|
||
|
[Parameter(Position = 0, Mandatory = $true)]
|
||
|
[System.Web.Services.Protocols.SoapHttpClientProtocol]$Proxy,
|
||
|
|
||
|
[Parameter(Position = 1, Mandatory = $true)]
|
||
|
[Alias("reportfolder")]
|
||
|
[string]$Folder
|
||
|
)
|
||
|
$logLead = Get-LogLeadName
|
||
|
|
||
|
if ($Folder[0] -ne "/") {
|
||
|
Write-Verbose ("$logLead : Transform {0} => /{0}" -f $Folder)
|
||
|
$Folder = "/" + $Folder
|
||
|
}
|
||
|
|
||
|
Write-Verbose ("$logLead : Querying children of {0}" -f $Folder)
|
||
|
$reports = $Proxy.ListChildren($Folder, $false) | Where-Object { $_.TypeName -eq "Report" }
|
||
|
|
||
|
Write-Verbose ("$logLead : {0} report objects located." -f $reports.Count)
|
||
|
return $reports
|
||
|
}
|
||
|
|