From 53b7b0f7440790b00847c9b8593f25ddc1777e36 Mon Sep 17 00:00:00 2001 From: Stephan Yelle Date: Wed, 8 Jan 2025 00:03:47 -0500 Subject: [PATCH] Delete TriggerInstall.ps1 --- TriggerInstall.ps1 | 237 --------------------------------------------- 1 file changed, 237 deletions(-) delete mode 100644 TriggerInstall.ps1 diff --git a/TriggerInstall.ps1 b/TriggerInstall.ps1 deleted file mode 100644 index f9730fb..0000000 --- a/TriggerInstall.ps1 +++ /dev/null @@ -1,237 +0,0 @@ -// priority - -async function triggerInstall() { - const dropdown = document.getElementById('dattoRmmDropdown'); - const UID = dropdown.options[dropdown.selectedIndex].value; - const Name = dropdown.options[dropdown.selectedIndex].text; - - const setSVSPowerplan = document.querySelector('input[name="setSVSPowerplan"]'); - const installSVSMSPModule = document.querySelector('input[name="installSVSMSPModule"]'); - const installDattoRMM = document.querySelector('input[name="installDattoRMM"]'); - const installCyberQP = document.querySelector('input[name="installCyberQP"]'); - const installSplashtop = document.querySelector('input[name="installSplashtop"]'); - const installSVSHelpDesk = document.querySelector('input[name="installSVSHelpDesk"]'); - const installSVSWatchtower = document.querySelector('input[name="installSVSWatchtower"]'); - const installThreatLocker = document.querySelector('input[name="installThreatLocker"]'); - const installRocketCyber = document.querySelector('input[name="installRocketCyber"]'); - - async function executeFetch(url, options = {}) { - try { - appendLog(`Starting ${url}...`, "cyan"); - const response = await fetch(url, options); - if (!response.ok) throw new Error(`Failed at ${url}: ${response.statusText}`); - appendLog(`${url} completed successfully.`, "green"); - } catch (error) { - appendLog(`Error: ${error.message}`, "red"); - } - } - - // Priority 1: Install SVSMSP Module - if (installSVSMSPModule.checked) { - await executeFetch('/installSVSMSPModule', { method: 'GET' }); - } - - // Priority 2: Install DattoRMM - if (installDattoRMM.checked) { - const DattoRMMCheckbox = document.querySelectorAll('input[name="dattoRMMOption"]:checked'); - appendLog("Installing selected site RMM (Priority 2)...", "cyan"); - - const checkedValues = Array.from(DattoRMMCheckbox).map(c => c.value); - const payload = { - checkedValues, // Array of selected checkbox values - UID, // Selected site UID - Name // Selected site name - }; - - await executeFetch('/installrmm', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(payload) - }); - } - - // Lower-priority tasks - if (setSVSPowerplan.checked) { - await executeFetch('/SetSVSPowerplan', { method: 'GET' }); - } - - if (installCyberQP.checked) { - await executeFetch('/installCyberQP', { method: 'GET' }); - } - - if (installSplashtop.checked) { - await executeFetch('/installSplashtop', { method: 'GET' }); - } - - if (installSVSHelpDesk.checked) { - await executeFetch('/installSVSHelpDesk', { method: 'GET' }); - } - - if (installSVSWatchtower.checked) { - await executeFetch('/installSVSWatchtower', { method: 'GET' }); - } - - if (installThreatLocker.checked) { - await executeFetch('/installThreatLocker', { method: 'GET' }); - } - - if (installRocketCyber.checked) { - await executeFetch('/installRocketCyber', { method: 'GET' }); - } - - appendLog("All tasks completed.", "green"); -} - -####### - -async function triggerInstall() { - const dropdown = document.getElementById('dattoRmmDropdown'); - const UID = dropdown.options[dropdown.selectedIndex]?.value || null; - const Name = dropdown.options[dropdown.selectedIndex]?.text || null; - - const tasks = []; - - if (document.querySelector('input[name="installSVSMSPModule"]').checked) { - tasks.push({ name: "installSVSMSPModule", priority: 1 }); - } - - if (document.querySelector('input[name="installDattoRMM"]').checked) { - const selectedOptions = Array.from(document.querySelectorAll('input[name="dattoRMMOption"]:checked')) - .map(option => option.value); - - tasks.push({ - name: "installDattoRMM", - priority: 2, - details: { UID, Name, options: selectedOptions }, - }); - } - - if (document.querySelector('input[name="setSVSPowerplan"]').checked) { - tasks.push({ name: "setSVSPowerplan", priority: 3 }); - } - - if (document.querySelector('input[name="installCyberQP"]').checked) { - tasks.push({ name: "installCyberQP", priority: 4 }); - } - - if (document.querySelector('input[name="installRocketCyber"]').checked) { - tasks.push({ name: "installRocketCyber", priority: 5 }); - } - - if (document.querySelector('input[name="installThreatLocker"]').checked) { - tasks.push({ name: "installThreatLocker", priority: 6 }); - } - - try { - const response = await fetch('/executeTasks', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ tasks }), - }); - - if (!response.ok) { - throw new Error("Failed to execute tasks."); - } - - const result = await response.json(); - console.log(result); - appendLog("All tasks completed successfully.", "green"); - } catch (error) { - console.error(error); - appendLog(`Error executing tasks: ${error.message}`, "red"); - } -} - - -function Execute-Task { - param ( - [string]$TaskName, - [hashtable]$Details - ) - - switch ($TaskName) { - "installSVSMSPModule" { - Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info" - # Add your task execution logic here - Start-Sleep -Seconds 2 # Simulate task execution - Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success" - } - "installDattoRMM" { - Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info" - $UID = $Details["UID"] - $Name = $Details["Name"] - $Options = $Details["options"] - # Add your task execution logic here - Start-Sleep -Seconds 3 # Simulate task execution - Write-LogHybrid -Message "Completed task: $TaskName for site $Name (UID: $UID)" -Level "Success" - } - "setSVSPowerplan" { - Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info" - # Add your task execution logic here - Start-Sleep -Seconds 1 # Simulate task execution - Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success" - } - "installCyberQP" { - Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info" - # Add your task execution logic here - Start-Sleep -Seconds 2 # Simulate task execution - Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success" - } - "installRocketCyber" { - Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info" - # Add your task execution logic here - Start-Sleep -Seconds 2 # Simulate task execution - Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success" - } - "installThreatLocker" { - Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info" - # Add your task execution logic here - Start-Sleep -Seconds 2 # Simulate task execution - Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success" - } - default { - Write-LogHybrid -Message "Unknown task: $TaskName" -Level "Warning" - } - } -} - - -function Execute-PrioritizedTasks { - param ( - [Parameter(Mandatory = $true)] - [array]$Tasks - ) - - $SortedTasks = $Tasks | Sort-Object -Property priority - - foreach ($task in $SortedTasks) { - $TaskName = $task.name - $Details = $task.details - Execute-Task -TaskName $TaskName -Details $Details - } - - Write-Output "All tasks completed." -} - -# Route to handle incoming task execution request -if ($request.HttpMethod -eq "POST" -and $request.Url.AbsolutePath -eq "/executeTasks") { - try { - $body = Get-Content -Raw -Path $request.InputStream | ConvertFrom-Json - $Tasks = $body.tasks - Execute-PrioritizedTasks -Tasks $Tasks - - $responseString = "All tasks executed successfully." - $response.StatusCode = 200 - } catch { - $responseString = "Error executing tasks: $($_.Exception.Message)" - $response.StatusCode = 500 - } - - $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() -} - -