diff --git a/TGBeta.ps1 b/TGBeta.ps1 index db90bee..7d0bc41 100644 --- a/TGBeta.ps1 +++ b/TGBeta.ps1 @@ -986,95 +986,96 @@ try { } } - function Execute-Task { - param ( - [string]$TaskName, - [hashtable]$Details - ) + 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" - } - } - } + 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 +function Execute-PrioritizedTasks { + param ( + [Parameter(Mandatory = $true)] + [array]$Tasks + ) - foreach ($task in $SortedTasks) { - $TaskName = $task.name - $Details = $task.details - Execute-Task -TaskName $TaskName -Details $Details - } + $SortedTasks = $Tasks | Sort-Object -Property priority - Write-Output "All tasks completed." - } + foreach ($task in $SortedTasks) { + $TaskName = $task.name + $Details = $task.details + Execute-Task -TaskName $TaskName -Details $Details + } - # 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 + Write-Output "All tasks completed." +} - $responseString = "All tasks executed successfully." - $response.StatusCode = 200 - } catch { - $responseString = "Error executing tasks: $($_.Exception.Message)" - $response.StatusCode = 500 - } +# 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 - $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() - } + $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() +} # ----------------------------------------------------------------