Public/Get-TCMMonitor.ps1
|
function Get-TCMMonitor { <# .SYNOPSIS List or retrieve TCM monitors. .PARAMETER Id Get a specific monitor by ID. If omitted, lists all monitors. .PARAMETER IncludeBaseline Include the baseline details in the response. .EXAMPLE Get-TCMMonitor .EXAMPLE Get-TCMMonitor -Id 'bf77ee1e-7750-40cb-8bcd-524dc4cdab02' -IncludeBaseline #> [CmdletBinding()] param( [string]$Id, [switch]$IncludeBaseline ) if ($Id) { $monitor = Invoke-TCMGraphRequest -Endpoint "configurationMonitors/$Id" if ($IncludeBaseline) { try { $baseline = Invoke-TCMGraphRequest -Endpoint "configurationMonitors/$Id/baseline" if ($monitor -is [System.Collections.IDictionary]) { $monitor['baseline'] = $baseline } else { $monitor | Add-Member -NotePropertyName 'baseline' -NotePropertyValue $baseline -Force } } catch { Write-Warning "Could not retrieve baseline for monitor $Id" } } return $monitor } Invoke-TCMGraphRequest -Endpoint 'configurationMonitors' -All } |