Public/Set-LMNewUserMessage.ps1
<# .SYNOPSIS Updates the new user message template in LogicMonitor. .DESCRIPTION The Set-LMNewUserMessage function modifies the message template that is sent to new users in LogicMonitor. .PARAMETER MessageBody Specifies the body content of the message template. .PARAMETER MessageSubject Specifies the subject line of the message template. .EXAMPLE Set-LMNewUserMessage -MessageBody "Welcome to our monitoring system" -MessageSubject "Welcome to LogicMonitor" Updates the new user message template with the specified subject and body. .INPUTS None. .OUTPUTS Returns the response from the API indicating the success of the update. .NOTES This function requires a valid LogicMonitor API authentication. #> Function Set-LMNewUserMessage { [CmdletBinding()] Param ( [Parameter(Mandatory)] [String]$MessageBody, [Parameter(Mandatory)] [String]$MessageSubject ) #Check if we are logged in and have valid api creds Begin {} Process { If ($Script:LMAuth.Valid) { #Build header and uri $ResourcePath = "/setting/messagetemplate" Try { $Data = @{ messageBody = $MessageBody messageSubject = $MessageSubject } #Remove empty keys so we dont overwrite them @($Data.keys) | ForEach-Object { If ([string]::IsNullOrEmpty($Data[$_]) -and ($_ -notin @($MyInvocation.BoundParameters.Keys))) { $Data.Remove($_) } } $Data = ($Data | ConvertTo-Json) $Headers = New-LMHeader -Auth $Script:LMAuth -Method "PATCH" -ResourcePath $ResourcePath -Data $Data $Uri = "https://$($Script:LMAuth.Portal).logicmonitor.com/santaba/rest" + $ResourcePath Resolve-LMDebugInfo -Url $Uri -Headers $Headers[0] -Command $MyInvocation -Payload $Data #Issue request $Response = Invoke-RestMethod -Uri $Uri -Method "PATCH" -Headers $Headers[0] -WebSession $Headers[1] -Body $Data Return $Response } Catch [Exception] { $Proceed = Resolve-LMException -LMException $PSItem If (!$Proceed) { Return } } } Else { Write-Error "Please ensure you are logged in before running any commands, use Connect-LMAccount to login and try again." } } End {} } |