From 972ef5eeb7b18ec2698cb06870fce06010831ec0 Mon Sep 17 00:00:00 2001 From: Joeri Date: Fri, 20 Feb 2026 16:15:48 +0100 Subject: [PATCH] Updated --- create_restorepoint.ps1 | 53 ++++++++++++----------------------------- 1 file changed, 15 insertions(+), 38 deletions(-) diff --git a/create_restorepoint.ps1 b/create_restorepoint.ps1 index e1a8358..4f3e25c 100644 --- a/create_restorepoint.ps1 +++ b/create_restorepoint.ps1 @@ -1,43 +1,20 @@ -# ========================================== -# 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" +# Check if a Name variable was passed from the calling script +# If not, generate a default name (e.g., for manual use or other scripts) +if (-not $Name) { + $Name = "RestorePoint-$(Get-Date -Format 'yyyy-MM-dd-HHmmss')" } -# ========================================== -# 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 { - $ErrorMsg = "Failed to create initial restore point: $($_.Exception.Message)" - $ScriptResult.restore_point_initial.error = $ErrorMsg - Write-Log $ErrorMsg -Level "ERROR" + # Create the restore point using the $Name variable + Checkpoint-Computer -Description $Name -RestorePointType "Application" -ErrorAction Stop + $status = "Success" +} catch { + $status = "Failed: $($_.Exception.Message)" } -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 +# Return the result as JSON (the main script expects JSON) +@{ + Name = $Name + Status = $status + Timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss" +} | ConvertTo-Json \ No newline at end of file