diff --git a/8x8_Work_Updater.ps1 b/8x8_Work_Updater.ps1 index 65af27d..6cb2731 100644 --- a/8x8_Work_Updater.ps1 +++ b/8x8_Work_Updater.ps1 @@ -1,8 +1,8 @@ # ============================================================================== # Script Name: 8x8_Work_Updater.ps1 # Description: Downloads 8x8 with a progress bar, launches an unclosable HTA -# countdown prompt in the user's session (no X button), waits for -# user action or 1-hour timeout, installs silently, and relaunches 8x8. +# countdown prompt with real-clock wall-time tracking (sleep-safe), +# silently installs, and relaunches 8x8 Work. # ============================================================================== # Ensure script is running elevated @@ -70,15 +70,15 @@ try { } # -------------------------------------------------------------------------- - # Step 2: Generate Unclosable HTA Countdown Dialog (No Close/X Button) + # Step 2: Generate Sleep-Safe Wall-Clock HTA Countdown Dialog # -------------------------------------------------------------------------- - Write-Host "[2/4] Generating unclosable dialog..." -ForegroundColor Cyan + Write-Host "[2/4] Generating sleep-safe unclosable dialog..." -ForegroundColor Cyan $htaContent = @" - JCT600 IT Support - 8x8 Work Update + JCT600 IT Support — 8x8 Work Update -
JCT600 - IT SUPPORT
+
JCT600 — IT SUPPORT
An automatic update for 8x8 Work has been scheduled.
Please save active work or click Update Now to begin. @@ -196,7 +196,7 @@ try { # -------------------------------------------------------------------------- # Step 3: Launch Unclosable Dialog in Active User Session # -------------------------------------------------------------------------- - Write-Host "[3/4] Launching prompt on logged-in user desktop..." -ForegroundColor Cyan + Write-Host "[3/4] Launching sleep-safe prompt on logged-in user desktop..." -ForegroundColor Cyan $loggedUser = (Get-CimInstance Win32_ComputerSystem).UserName @@ -205,11 +205,11 @@ try { } else { $taskName = "JCT600_8x8_UpdatePrompt" - # mshta.exe runs the HTML Application natively inside the user's interactive desktop + # Create scheduled task configured to wake/stay active during user session schtasks.exe /Create /TN $taskName /TR "mshta.exe `"$htaPromptPath`"" /SC ONCE /ST 00:00 /IT /RU "$loggedUser" /F | Out-Null schtasks.exe /Run /TN $taskName | Out-Null - Write-Host "Prompt active for $loggedUser. Waiting for user action or timer expiration..." -ForegroundColor Yellow + Write-Host "Prompt active for $loggedUser. Waiting for user action or wall-clock expiration..." -ForegroundColor Yellow while (-not (Test-Path $flagFile)) { Start-Sleep -Seconds 2 }