LinuxParty

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

https://www.linuxparty.es/images/Years/2025/10oct/Programa-no-permitido-ejecutarse-ahora.jpg

¿Eres de los que abres “un momentito” Steam o Discord y cuando te das cuenta han pasado dos o tres horas? 😅
No estás solo. Las distracciones digitales son una epidemia moderna, y aunque existen aplicaciones que prometen ayudarte, los que usamos Linux sabemos que la mejor herramienta siempre es la que controlas tú mismo.

Al igual que en Linux podemos usar pequeños scripts para eliminar distracciones, en Windows también es posible hacerlo fácilmente usando PowerShell. En esta primera versión crearemos un script que bloquea automáticamente las aplicaciones que más te distraen durante tu jornada. En futuras versiones ampliaremos para bloquear también sitios web.

💡 La idea

  • Definir una lista de programas “prohibidos” (navegadores, juegos, chats, etc.).
  • Marcar un horario de trabajo en el que no deben ejecutarse.
  • Comprobar cada cierto tiempo si se están ejecutando y cerrarlos automáticamente.

⚙️ Antes de comenzar

  • Necesitarás tener PowerShell instalado (viene de serie en Windows 10 y 11).
  • No es necesario tener permisos de administrador, aunque algunas configuraciones pueden requerirlo.

Cómo abrir PowerShell

  • Presiona Win + X y elige Windows PowerShell o Terminal de Windows (en versiones modernas).
  • O usa la búsqueda: escribe powershell en la barra de inicio y selecciona Ejecutar como administrador.
  • También puedes abrir el antiguo símbolo del sistema (cmd) y escribir:
    powershell

Una vez abierto PowerShell, ya podrás ejecutar los comandos y scripts que veremos a continuación.

🧩 El script: KillGuard-Windows.ps1

Guarda este código en, por ejemplo, C:\Scripts\KillGuard-Windows.ps1.

# ======================================================================
# KillGuard-Windows.ps1 – Bloquea apps distractoras en horario laboral
# Autor: LinuxParty.es (2025)
# ======================================================================

# --- Lista de aplicaciones prohibidas (sin extensión .exe) ---
$Programs = @("warzone2100","warzone","spotify","steam","discord")

# --- Configuración de horario (ej. 09:00 a 20:00) ---
$BlockStartHour = 9
$BlockEndHour   = 20

# --- Días permitidos (1 = domingo … 7 = sábado) ---
# Permitimos fines de semana: sábado (7) y domingo (1)
$AllowDays = @(1,7)

# --- Función para mostrar aviso gráfico ---
Function Show-Alert($msg) {
    Add-Type -AssemblyName PresentationFramework
    [System.Windows.MessageBox]::Show($msg,"Aviso de KillGuard",0,0)
}

# --- Comprueba si estamos dentro de horario de bloqueo ---
$now = Get-Date
$dayNumber = [int]$now.DayOfWeek + 1
$hour = $now.Hour

$withinHours = ($hour -ge $BlockStartHour) -and ($hour -lt $BlockEndHour)
$dayAllowed = $AllowDays -contains $dayNumber

if (-not $dayAllowed -and $withinHours) {
    foreach ($prog in $Programs) {
        $proc = Get-Process -Name $prog -ErrorAction SilentlyContinue
        if ($proc) {
            Show-Alert("La aplicación $prog no está permitida en este horario.")
            $proc | Stop-Process -Force
        }
    }
}

🧰 Cómo configurarlo

  1. Crea la carpeta donde guardarás los scripts:
    New-Item -ItemType Directory -Path "C:\Scripts"
  2. Guarda el archivo anterior como KillGuard-Windows.ps1 dentro de esa carpeta.
  3. Permite ejecutar scripts en PowerShell (solo una vez):
    Set-ExecutionPolicy RemoteSigned
  4. Prueba manualmente el script:
    cd C:\Scripts
    .\KillGuard-Windows.ps1

Si todo funciona, verás que las aplicaciones de tu lista se cierran y aparece un aviso en pantalla.

🕐 Programar su ejecución automática

Para hacerlo permanente, usaremos el Programador de tareas (Task Scheduler):

  • Abre el menú de inicio, escribe Programador de tareas y ejecútalo.
  • Haz clic en Crear tarea.
  • En la pestaña General, escribe un nombre como KillGuard Windows.
  • En Desencadenadores, elige “Al iniciar sesión” o “Cada 1 minuto”.
  • En Acciones, selecciona “Iniciar un programa” y escribe:
    powershell.exe
    En el campo de argumentos:
    -ExecutionPolicy Bypass -File "C:\Scripts\KillGuard-Windows.ps1"
  • Guarda los cambios.

A partir de ahora, el script se ejecutará automáticamente y cerrará cualquier aplicación distractora que intentes abrir durante el horario configurado.

✅ Conclusión

  • Has creado un sistema de control personal que evita distracciones sin instalar software adicional.
  • Funciona con PowerShell, el equivalente de los scripts Bash de Linux, y se ejecuta automáticamente.
  • En próximas versiones añadiremos bloqueo de sitios web, mejoras visuales y registro de actividad.
💡 Consejo: personaliza la lista $Programs con tus propias distracciones y ajusta el horario laboral a tus necesidades.

 

P.D: Aclalar que los juegos "warzone2100" y "warzone", no son el mismo juego.

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Top 15 artículos por Fecha

Filtro por Categorías