Update action1/sc-path-installation.ps1
Se agrega la compatibilidad de ejecución para archivos con extensión ".reg"
This commit is contained in:
@@ -1,11 +1,8 @@
|
|||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
# Script: SafeCloud - PATH (v6 - Ruta Final C:\ProgramData\SafeCloud)
|
# Script: SafeCloud - PATH (v7 - Añade soporte para .REG)
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
|
||||||
# Utilidad: Ejecutar scripts de https://recursos.safecloud.mx/support/scripts/raw/branch/main/ de manera nativa
|
Write-Host "Iniciando instalación de SafeCloud Runner v7..."
|
||||||
# escribiendo únicamente el comando: safecloud-run NOMBRE-DE-SCRIPT que se encuentre en Gitea.
|
|
||||||
|
|
||||||
Write-Host "Iniciando instalación de SafeCloud Runner v6..."
|
|
||||||
|
|
||||||
# --- 1. Definición de Variables ---
|
# --- 1. Definición de Variables ---
|
||||||
$RutaNueva = "C:\ProgramData\SafeCloud"
|
$RutaNueva = "C:\ProgramData\SafeCloud"
|
||||||
@@ -14,7 +11,7 @@ $ComandoNombre = "safecloud-run.cmd"
|
|||||||
$RutaCompletaCmd = Join-Path -Path $RutaNueva -ChildPath $ComandoNombre
|
$RutaCompletaCmd = Join-Path -Path $RutaNueva -ChildPath $ComandoNombre
|
||||||
$URLGiteaBase = "https://recursos.safecloud.mx/support/scripts/raw/branch/main/"
|
$URLGiteaBase = "https://recursos.safecloud.mx/support/scripts/raw/branch/main/"
|
||||||
|
|
||||||
# --- 2. Contenido del lanzador (v2.2 - Sanitizado) ---
|
# --- 2. Contenido del lanzador (v2.3 - Soporta .REG) ---
|
||||||
$ScriptContent = @"
|
$ScriptContent = @"
|
||||||
@echo off
|
@echo off
|
||||||
set "BASE_URL=$URLGiteaBase"
|
set "BASE_URL=$URLGiteaBase"
|
||||||
@@ -28,6 +25,15 @@ set "TEMP_FILE=%TEMP%\safecloud_temp_%RANDOM%_%SAFE_SCRIPT_NAME%"
|
|||||||
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "Invoke-WebRequest -Uri '%FULL_URL%' -OutFile '%TEMP_FILE%' -ErrorAction Stop"
|
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "Invoke-WebRequest -Uri '%FULL_URL%' -OutFile '%TEMP_FILE%' -ErrorAction Stop"
|
||||||
if not exist "%TEMP_FILE%" ( goto :CLEANUP )
|
if not exist "%TEMP_FILE%" ( goto :CLEANUP )
|
||||||
echo [SafeCloud] Ejecutando %SCRIPT_NAME%...
|
echo [SafeCloud] Ejecutando %SCRIPT_NAME%...
|
||||||
|
|
||||||
|
:: --- (NUEVA LÓGICA PARA .REG) ---
|
||||||
|
if /I "%SCRIPT_EXTENSION%"==".reg" (
|
||||||
|
echo [SafeCloud] Importando archivo de registro...
|
||||||
|
reg.exe import "%TEMP_FILE%"
|
||||||
|
goto :CLEANUP
|
||||||
|
)
|
||||||
|
:: --- (FIN DE LA NUEVA LÓGICA) ---
|
||||||
|
|
||||||
if /I "%SCRIPT_EXTENSION%"==".ps1" (
|
if /I "%SCRIPT_EXTENSION%"==".ps1" (
|
||||||
powershell.exe -ExecutionPolicy Bypass -File "%TEMP_FILE%"
|
powershell.exe -ExecutionPolicy Bypass -File "%TEMP_FILE%"
|
||||||
goto :CLEANUP
|
goto :CLEANUP
|
||||||
@@ -41,6 +47,7 @@ if /I "%SCRIPT_EXTENSION%"==".bat" (
|
|||||||
goto :CLEANUP
|
goto :CLEANUP
|
||||||
)
|
)
|
||||||
echo [Error] Extension de archivo no soportada: %SCRIPT_EXTENSION%
|
echo [Error] Extension de archivo no soportada: %SCRIPT_EXTENSION%
|
||||||
|
|
||||||
:CLEANUP
|
:CLEANUP
|
||||||
del "%TEMP_FILE%" 2>nul
|
del "%TEMP_FILE%" 2>nul
|
||||||
goto :eof
|
goto :eof
|
||||||
@@ -55,7 +62,7 @@ if (Test-Path $RutaCompletaCmd) {
|
|||||||
Write-Host "Eliminando $RutaCompletaCmd anterior..."
|
Write-Host "Eliminando $RutaCompletaCmd anterior..."
|
||||||
Remove-Item -Path $RutaCompletaCmd -Force
|
Remove-Item -Path $RutaCompletaCmd -Force
|
||||||
}
|
}
|
||||||
Write-Host "Creando lanzador v6 en $RutaCompletaCmd..."
|
Write-Host "Creando lanzador v7 en $RutaCompletaCmd..."
|
||||||
try {
|
try {
|
||||||
Set-Content -Path $RutaCompletaCmd -Value $ScriptContent -Force -ErrorAction Stop
|
Set-Content -Path $RutaCompletaCmd -Value $ScriptContent -Force -ErrorAction Stop
|
||||||
} catch {
|
} catch {
|
||||||
@@ -66,13 +73,8 @@ try {
|
|||||||
# --- 4. Actualización del PATH del Sistema (con limpieza) ---
|
# --- 4. Actualización del PATH del Sistema (con limpieza) ---
|
||||||
Write-Host "Actualizando PATH del Sistema..."
|
Write-Host "Actualizando PATH del Sistema..."
|
||||||
$PathActual = [Environment]::GetEnvironmentVariable("Path", "Machine")
|
$PathActual = [Environment]::GetEnvironmentVariable("Path", "Machine")
|
||||||
|
|
||||||
# Limpiamos la ruta antigua (C:\TEMP) y la nueva (para evitar duplicados)
|
|
||||||
$PathEntries = $PathActual.Split(';') | Where-Object { $_ -ne "" -and $_ -ne $RutaAntigua -and $_ -ne $RutaNueva }
|
$PathEntries = $PathActual.Split(';') | Where-Object { $_ -ne "" -and $_ -ne $RutaAntigua -and $_ -ne $RutaNueva }
|
||||||
|
|
||||||
# Agregamos la nueva ruta al final
|
|
||||||
$PathFinal = ($PathEntries + $RutaNueva) -join ';'
|
$PathFinal = ($PathEntries + $RutaNueva) -join ';'
|
||||||
|
|
||||||
if ($PathFinal -ne $PathActual) {
|
if ($PathFinal -ne $PathActual) {
|
||||||
Write-Host "Actualizando PATH a: $PathFinal"
|
Write-Host "Actualizando PATH a: $PathFinal"
|
||||||
[Environment]::SetEnvironmentVariable("Path", $PathFinal, "Machine")
|
[Environment]::SetEnvironmentVariable("Path", $PathFinal, "Machine")
|
||||||
@@ -80,8 +82,6 @@ if ($PathFinal -ne $PathActual) {
|
|||||||
} else {
|
} else {
|
||||||
Write-Host "El PATH ya está configurado correctamente."
|
Write-Host "El PATH ya está configurado correctamente."
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host "Ocultando archivo $RutaCompletaCmd..."
|
Write-Host "Ocultando archivo $RutaCompletaCmd..."
|
||||||
(Get-Item $RutaCompletaCmd).Attributes += 'Hidden'
|
(Get-Item $RutaCompletaCmd).Attributes += 'Hidden'
|
||||||
|
|
||||||
Write-Host "Proceso de instalación de SafeCloud-Runner completado."
|
Write-Host "Proceso de instalación de SafeCloud-Runner completado."
|
||||||
Reference in New Issue
Block a user