# ----------------------------------------------------------------- # Script: SafeCloud - RunAs User (Ruta Final C:\ProgramData\SafeCloud) # ----------------------------------------------------------------- Write-Host "Iniciando ejecución interactiva de: $ScriptToRun" # --- 1. Definición de Variables --- $RutaApp = "C:\ProgramData\SafeCloud" $RutaLanzadorVBS = Join-Path -Path $RutaApp -ChildPath "sc_launcher.vbs" $ComandoAEjecutar = (Join-Path -Path $RutaApp -ChildPath "safecloud-run.cmd") + " $ScriptToRun" $NombreTarea = "A1Tmp" $StartTime = (Get-Date).AddMinutes(1).ToString('HH:mm') # --- 2. Contenido del Archivo VBScript --- $ContenidoVBS = "CreateObject(`"Wscript.Shell`").Run `"$ComandoAEjecutar`", 0, false" # --- 3. Creación del Lanzador VBScript --- Write-Host "Creando lanzador VBS en $RutaLanzadorVBS..." try { Set-Content -Path $RutaLanzadorVBS -Value $ContenidoVBS -Force -ErrorAction Stop } catch { Write-Error "ERROR FATAL al escribir el lanzador VBS. Detalles: $_" exit 1 } # --- 4. Ejecución de 'schtasks' (Método Directo) --- $ArgumentosCreate = "/create /tn ""$NombreTarea"" /tr ""wscript.exe \""$RutaLanzadorVBS\"""" /sc once /st $StartTime /f /ru INTERACTIVE /rl HIGHEST" $ArgumentosRun = "/run /tn ""$NombreTarea""" $ArgumentosDelete = "/delete /tn ""$NombreTarea"" /f" Write-Host "Paso 1: Creando tarea..." Start-Process schtasks.exe -ArgumentList $ArgumentosCreate -Wait -NoNewWindow -ErrorAction Stop Write-Host "Paso 2: Ejecutando tarea..." Start-Process schtasks.exe -ArgumentList $ArgumentosRun -Wait -NoNewWindow -ErrorAction Stop Write-Host "Paso 3: Eliminando tarea..." Start-Process schtasks.exe -ArgumentList $ArgumentosDelete -Wait -NoNewWindow -ErrorAction Stop Write-Host "Comandos 'schtasks' enviados exitosamente."