public/Get-NexposeSonarQuery.ps1
Function Get-NexposeSonarQuery { <# .SYNOPSIS Returns a sonar query .DESCRIPTION Returns a sonar query .PARAMETER Id The identifier of the sonar query .PARAMETER IncludeAssets Include any found assets .EXAMPLE Get-NexposeSonarQuery -Id 32 .NOTES For additional information please see my GitHub wiki page .FUNCTIONALITY GET: sonar_queries GET: sonar_queries/{id} GET: sonar_queries/{id}/assets .LINK https://github.com/My-Random-Thoughts/Rapid7Nexpose #> [CmdletBinding()] Param ( [int]$Id = 0, [switch]$IncludeAssets ) If ($Id -gt 0) { $Output = (Invoke-NexposeQuery -UrlFunction "sonar_queries/$Id" -RestMethod Get) If ($IncludeAssets.IsPresent) { $Output | Add-Member -MemberType NoteProperty -Name 'assets' -Value (Invoke-NexposeQuery -UrlFunction "sonar_queries/$Id/assets" -RestMethod Get) } Write-Output $Output } Else { Write-Output @(Invoke-NexposeQuery -UrlFunction 'sonar_queries' -RestMethod Get) # Return All } } |