Update TGBeta.ps1
This commit is contained in:
164
TGBeta.ps1
164
TGBeta.ps1
@@ -986,98 +986,100 @@ 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 {
|
function Execute-PrioritizedTasks {
|
||||||
param (
|
param (
|
||||||
[Parameter(Mandatory = $true)]
|
[Parameter(Mandatory = $true)]
|
||||||
[array]$Tasks
|
[array]$Tasks
|
||||||
)
|
)
|
||||||
|
|
||||||
$SortedTasks = $Tasks | Sort-Object -Property priority
|
$SortedTasks = $Tasks | Sort-Object -Property priority
|
||||||
|
|
||||||
foreach ($task in $SortedTasks) {
|
foreach ($task in $SortedTasks) {
|
||||||
$TaskName = $task.name
|
$TaskName = $task.name
|
||||||
$Details = $task.details
|
$Details = $task.details
|
||||||
Execute-Task -TaskName $TaskName -Details $Details
|
Execute-Task -TaskName $TaskName -Details $Details
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Output "All tasks completed."
|
Write-Output "All tasks completed."
|
||||||
}
|
}
|
||||||
|
|
||||||
# Route to handle incoming task execution request
|
# Route to handle incoming task execution request
|
||||||
if ($request.HttpMethod -eq "POST" -and $request.Url.AbsolutePath -eq "/executeTasks") {
|
if ($request.HttpMethod -eq "POST" -and $request.Url.AbsolutePath -eq "/executeTasks") {
|
||||||
try {
|
try {
|
||||||
$body = Get-Content -Raw -Path $request.InputStream | ConvertFrom-Json
|
$body = Get-Content -Raw -Path $request.InputStream | ConvertFrom-Json
|
||||||
$Tasks = $body.tasks
|
$Tasks = $body.tasks
|
||||||
Execute-PrioritizedTasks -Tasks $Tasks
|
Execute-PrioritizedTasks -Tasks $Tasks
|
||||||
|
|
||||||
$responseString = "All tasks executed successfully."
|
$responseString = "All tasks executed successfully."
|
||||||
$response.StatusCode = 200
|
$response.StatusCode = 200
|
||||||
} catch {
|
} catch {
|
||||||
$responseString = "Error executing tasks: $($_.Exception.Message)"
|
$responseString = "Error executing tasks: $($_.Exception.Message)"
|
||||||
$response.StatusCode = 500
|
$response.StatusCode = 500
|
||||||
}
|
}
|
||||||
|
|
||||||
$buffer = [System.Text.Encoding]::UTF8.GetBytes($responseString)
|
$buffer = [System.Text.Encoding]::UTF8.GetBytes($responseString)
|
||||||
$response.ContentType = "text/plain"
|
$response.ContentType = "text/plain"
|
||||||
$response.ContentLength64 = $buffer.Length
|
$response.ContentLength64 = $buffer.Length
|
||||||
$response.OutputStream.Write($buffer, 0, $buffer.Length)
|
$response.OutputStream.Write($buffer, 0, $buffer.Length)
|
||||||
$response.OutputStream.Close()
|
$response.OutputStream.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
# 4) NEW ROUTE: /getLogs
|
# 4) NEW ROUTE: /getLogs
|
||||||
# Returns $Global:LogCache as JSON for the polling function
|
# Returns $Global:LogCache as JSON for the polling function
|
||||||
|
|||||||
Reference in New Issue
Block a user