Public/New-KritTcmMonitor.ps1
|
function New-KritTcmMonitor { <# .SYNOPSIS Create a TCM configuration monitor. #> [CmdletBinding(SupportsShouldProcess, ConfirmImpact='Medium')] param( [Parameter(Mandatory)][string]$DisplayName, [Parameter(Mandatory)][object]$Baseline, [string]$Description, [hashtable]$Parameters ) $body = [ordered]@{ displayName = $DisplayName baseline = $Baseline } if ($Description) { $body['description'] = $Description } if ($Parameters) { $body['parameters'] = $Parameters } if ($PSCmdlet.ShouldProcess('Microsoft Graph', "POST /admin/configurationManagement/configurationMonitors ($DisplayName)")) { $response = Invoke-MgGraphRequest -Method POST -Uri 'https://graph.microsoft.com/v1.0/admin/configurationManagement/configurationMonitors' -Body ($body | ConvertTo-Json -Depth 32) -ContentType 'application/json' -ErrorAction Stop [pscustomobject]@{ Action = 'New-KritTcmMonitor' Id = $response.id DisplayName = $response.displayName Status = $response.status Mode = $response.mode MonitorRunFrequencyInHours = $response.monitorRunFrequencyInHours RawResponse = $response } } } |