diff --git a/cleanup.ps1 b/cleanup.ps1 index b4057df..6580cf7 100644 --- a/cleanup.ps1 +++ b/cleanup.ps1 @@ -78,7 +78,7 @@ if ($result -eq [System.Windows.Forms.DialogResult]::OK) { # Send webhook try { - $CreateRestorePoint = irm $ScriptCreateRestorePoint | iex -ArgumentList $ticket, $ScriptStartTime, $ScriptResult + $CreateRestorePoint = irm $ScriptCreateRestorePoint | iex $GetComputerInfo = irm $ScriptGetComputerInfo | iex $GetInstalledAV = irm $ScriptGetInstalledAV | iex diff --git a/create_restorepoint.ps1 b/create_restorepoint.ps1 index 6cbd170..e1a8358 100644 --- a/create_restorepoint.ps1 +++ b/create_restorepoint.ps1 @@ -1,22 +1,43 @@ -param( - [string]$TicketNumber, - [datetime]$ScriptStartTime, - [object]$ScriptResult -) +# ========================================== +# 1. Setup Variables (Fix for missing vars) +# ========================================== +$TicketNumber = "INC-12345" # Your Ticket Number +$ScriptStartTime = Get-Date # Current DateTime object +$LogFile = "C:\Logs\QuestCleanup.log" # Path to your log file +$ScriptResult = @{} # Initialize the result hashtable + +# (Optional) Define Write-Log if it is not available in your environment +function global:Write-Log { + param( + [string]$Message, + [string]$Level = "INFO" + ) + "$Level - $Message" +} + +# ========================================== +# 2. Main Script Logic +# ========================================== $RestorePointName = "QUEST-CLEANUP-$($TicketNumber -replace '[^A-Za-z0-9]', '')-$($ScriptStartTime.ToString('yyyy-MM-dd'))" try { Write-Log "Creating initial restore point: $RestorePointName" + + # Requires Admin Rights and System Restore enabled Checkpoint-Computer -Description $RestorePointName -ErrorAction Stop + $ScriptResult.restore_point_initial.created = $true $ScriptResult.restore_point_initial.name = $RestorePointName Write-Log "Initial restore point created successfully." -} catch { +} +catch { $ErrorMsg = "Failed to create initial restore point: $($_.Exception.Message)" $ScriptResult.restore_point_initial.error = $ErrorMsg Write-Log $ErrorMsg -Level "ERROR" } Write-Log "Initial restore point section completed." + +# Appends a blank line to the log file "" | Out-File -FilePath $LogFile -Append -Encoding UTF8 \ No newline at end of file