function Get-PublishedDataSources { <# .SYNOPSIS Get and return the data sources from a SOAP webservice, a SQL Reports Server .PARAMETER Proxy A SOAP proxy for the SQL Reports Server .PARAMETER Folder The reports folder to look for Data Sources in #> [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) $datasources = $proxy.ListChildren($folder, $false) | Where-Object {$_.TypeName -eq "DataSource"} Write-Verbose ("$logLead : {0} datasource objects located." -f $datasources.Count) return $datasources }