Update TGBeta.ps1

This commit is contained in:
2025-01-07 00:53:52 -05:00
parent d2b45940c9
commit 0703410261

View File

@@ -986,95 +986,96 @@ try {
} }
} }
function Execute-Task { function Execute-Task {
param ( param (
[string]$TaskName, [string]$TaskName,
[hashtable]$Details [hashtable]$Details
) )
switch ($TaskName) { switch ($TaskName) {
"installSVSMSPModule" { "installSVSMSPModule" {
Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info" Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info"
# Add your task execution logic here # Add your task execution logic here
Start-Sleep -Seconds 2 # Simulate task execution Start-Sleep -Seconds 2 # Simulate task execution
Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success" Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success"
} }
"installDattoRMM" { "installDattoRMM" {
Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info" Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info"
$UID = $Details["UID"] $UID = $Details["UID"]
$Name = $Details["Name"] $Name = $Details["Name"]
$Options = $Details["options"] $Options = $Details["options"]
# Add your task execution logic here # Add your task execution logic here
Start-Sleep -Seconds 3 # Simulate task execution Start-Sleep -Seconds 3 # Simulate task execution
Write-LogHybrid -Message "Completed task: $TaskName for site $Name (UID: $UID)" -Level "Success" Write-LogHybrid -Message "Completed task: $TaskName for site $Name (UID: $UID)" -Level "Success"
} }
"setSVSPowerplan" { "setSVSPowerplan" {
Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info" Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info"
# Add your task execution logic here # Add your task execution logic here
Start-Sleep -Seconds 1 # Simulate task execution Start-Sleep -Seconds 1 # Simulate task execution
Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success" Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success"
} }
"installCyberQP" { "installCyberQP" {
Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info" Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info"
# Add your task execution logic here # Add your task execution logic here
Start-Sleep -Seconds 2 # Simulate task execution Start-Sleep -Seconds 2 # Simulate task execution
Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success" Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success"
} }
"installRocketCyber" { "installRocketCyber" {
Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info" Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info"
# Add your task execution logic here # Add your task execution logic here
Start-Sleep -Seconds 2 # Simulate task execution Start-Sleep -Seconds 2 # Simulate task execution
Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success" Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success"
} }
"installThreatLocker" { "installThreatLocker" {
Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info" Write-LogHybrid -Message "Starting task: $TaskName" -Level "Info"
# Add your task execution logic here # Add your task execution logic here
Start-Sleep -Seconds 2 # Simulate task execution Start-Sleep -Seconds 2 # Simulate task execution
Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success" Write-LogHybrid -Message "Completed task: $TaskName" -Level "Success"
} }
default { default {
Write-LogHybrid -Message "Unknown task: $TaskName" -Level "Warning" 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) { $SortedTasks = $Tasks | Sort-Object -Property priority
$TaskName = $task.name
$Details = $task.details
Execute-Task -TaskName $TaskName -Details $Details
}
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 Write-Output "All tasks completed."
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." # Route to handle incoming task execution request
$response.StatusCode = 200 if ($request.HttpMethod -eq "POST" -and $request.Url.AbsolutePath -eq "/executeTasks") {
} catch { try {
$responseString = "Error executing tasks: $($_.Exception.Message)" $body = Get-Content -Raw -Path $request.InputStream | ConvertFrom-Json
$response.StatusCode = 500 $Tasks = $body.tasks
} Execute-PrioritizedTasks -Tasks $Tasks
$buffer = [System.Text.Encoding]::UTF8.GetBytes($responseString) $responseString = "All tasks executed successfully."
$response.ContentType = "text/plain" $response.StatusCode = 200
$response.ContentLength64 = $buffer.Length } catch {
$response.OutputStream.Write($buffer, 0, $buffer.Length) $responseString = "Error executing tasks: $($_.Exception.Message)"
$response.OutputStream.Close() $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()
}
# ---------------------------------------------------------------- # ----------------------------------------------------------------