Files
scripts/action1/sc-runas-user.ps1

38 lines
1.7 KiB
PowerShell

# -----------------------------------------------------------------
# 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."