diff --git a/SVSTaskGate.ps1 b/SVSTaskGate.ps1 index 3c6eb94..fb6577e 100644 --- a/SVSTaskGate.ps1 +++ b/SVSTaskGate.ps1 @@ -856,56 +856,28 @@ try { } } - "/installrmm" { + "/installrmm" { if ($request.HttpMethod -eq "POST") { - $bodyStream = New-Object IO.StreamReader $request.InputStream - $body = $bodyStream.ReadToEnd() + $bodyStream = New-Object IO.StreamReader $request.InputStream + $body = $bodyStream.ReadToEnd() $selectedSite = ConvertFrom-Json $body - # Log received data - Write-LogHybrid -Message "Received data: $($body)" -Level "Info" + # Extract parameters + $ApiUrl = $selectedSite.ApiUrl + $ApiKey = $selectedSite.ApiKey + $ApiSecretKey = $selectedSite.ApiSecretKey - # Extract values from $selectedSite - $installRMMCommand = $selectedSite.installRMMCommand - $UID = $selectedSite.UID - $Name = $selectedSite.Name - - # Validate required fields - if (-not $installRMMCommand) { - $responseString = "Error: Missing 'installRMMCommand' in the request payload." - Write-LogHybrid -Message $responseString -Level "Error" + # Verify required parameters + if (-not $ApiUrl -or -not $ApiKey -or -not $ApiSecretKey) { + $responseString = "Error: Missing required parameters. ApiUrl='$ApiUrl', ApiKey='$ApiKey', ApiSecretKey='$ApiSecretKey'" $buffer = [System.Text.Encoding]::UTF8.GetBytes($responseString) - $response.ContentType = "text/plain" + $response.ContentType = "text/plain" $response.ContentLength64 = $buffer.Length $response.OutputStream.Write($buffer, 0, $buffer.Length) $response.OutputStream.Close() return } - - Write-LogHybrid -Message "Executing command: $installRMMCommand" -Level "Info" - Write-LogHybrid -Message "Site UID: $UID, Name: $Name" -Level "Info" - - try { - # Execute the command - Invoke-Expression $installRMMCommand - $responseString = "RMM install triggered successfully for site: $Name (UID: $UID)." - Write-LogHybrid -Message $responseString -Level "Success" - } - catch { - $responseString = "Error executing RMM install: $($_.Exception.Message)" - Write-LogHybrid -Message $responseString -Level "Error" - } - - # Send the response back to the client - $buffer = [System.Text.Encoding]::UTF8.GetBytes($responseString) - $response.ContentType = "text/plain" - $response.ContentLength64 = $buffer.Length - $response.OutputStream.Write($buffer, 0, $buffer.Length) - $response.OutputStream.Close() - } - } - - +