modules/Devolutions.CIEM.Checks/Public/Get-CIEMProviderService.ps1
|
function Get-CIEMProviderService { <# .SYNOPSIS Lists unique services from the CIEM checks database. .DESCRIPTION Queries the checks table for unique service names per provider. Returns PSCustomObjects for compatibility with PSU runspaces. .PARAMETER Provider Filter services by cloud provider (Azure, AWS). .OUTPUTS [PSCustomObject[]] Array of objects with Name and Provider properties. .EXAMPLE Get-CIEMProviderService # Returns all services across all providers .EXAMPLE Get-CIEMProviderService -Provider Azure # Returns Azure services only #> [CmdletBinding()] param( [Parameter()] [string]$Provider ) $ErrorActionPreference = 'Stop' if ($Provider) { $rows = Invoke-CIEMQuery -Query "SELECT DISTINCT service, provider FROM checks WHERE provider = @provider ORDER BY provider, service" -Parameters @{ provider = $Provider } } else { $rows = Invoke-CIEMQuery -Query "SELECT DISTINCT service, provider FROM checks ORDER BY provider, service" } foreach ($row in $rows) { [PSCustomObject]@{ Name = $row.service Provider = $row.provider } } } |