Functions/Get-RSCReportTemplates.ps1
################################################ # Creating the Get-RSCReportTemplates function ################################################ Function Get-RSCReportTemplates { <# .SYNOPSIS A Rubrik Security Cloud (RSC) Reporting Module Function returning a list of .html files included with the module. .DESCRIPTION Builds a list of all the report templates included with the SDK, no API calls made. .LINK GraphQL schema reference: https://rubrikinc.github.io/rubrik-api-documentation/schema/reference .OUTPUTS Returns an array of all the available information on the GraphQL endpoint in a uniform and usable format. .EXAMPLE Get-RSCReportTemplates This example returns an array of all the information returned by the GraphQL endpoint for this object type. .NOTES Author: Joshua Stenhouse Date: 05/11/2023 #> # Importing Module Import-Module RSCReporting # Creating array $RSCReportTemplates = [System.Collections.ArrayList]@() # Checking connectivity, exiting function with error if not connected $HTMLReportTemplates = Get-Module -Name RSCReporting -All | Select-Object -ExpandProperty FileList # Filtering for HTML files on $HTMLReportTemplates = $HTMLReportTemplates | Where-Object {$_ -match ".html"} # Getting report names ForEach($HTMLReportTemplate in $HTMLReportTemplates) { $ReportFileName = Get-ChildItem $HTMLReportTemplate | Select-Object -ExpandProperty Name $ReportName = $ReportFileName.Replace(".html","") # Adding To Array $Object = New-Object PSObject $Object | Add-Member -MemberType NoteProperty -Name "Report" -Value $ReportName $Object | Add-Member -MemberType NoteProperty -Name "FileName" -Value $ReportFileName $Object | Add-Member -MemberType NoteProperty -Name "FilePath" -Value $HTMLReportTemplate # Adding $RSCReportTemplates.Add($Object) | Out-Null } # Returning data Return $RSCReportTemplates } ################################################ # End of script ################################################ |