Script de PowerShell para programar una tarea simple

Script de PowerShell para crear una tarea programada diaria que escribe en un archivo de registro en C Temp, ideal para aprender ScheduledTasks en PowerShell.

Breve Introducción

Script de PowerShell para programar una tarea simple (powershell)
DESCRIPCIÓN:
Este script de PowerShell crea una tarea programada de Windows que ejecuta un comando simple (por ejemplo, escribir un mensaje en un archivo de registro) cada día a una hora determinada. Es un ejemplo básico para aprender a usar el módulo ScheduledTasks en PowerShell.

NOTAS ADICIONALES:
El script verifica si la carpeta C:\Temp existe y la crea si es necesario. La tarea programada se crea solo si no existe ya, para evitar duplicados. La tarea ejecuta un comando de PowerShell que añade una línea con fecha y hora en el archivo de registro.

EXPLICACIONES:
- Import-Module ScheduledTasks: importa el módulo necesario para gestionar tareas programadas.
- Test-Path y New-Item: comprueban y crean la carpeta de destino para el archivo de registro.
- Get-ScheduledTask: verifica si la tarea ya existe para evitar duplicados.
- New-ScheduledTaskTrigger: define cuándo debe iniciarse la tarea (diariamente a las 12:00).
- New-ScheduledTaskAction: define qué hace la tarea (ejecuta PowerShell con un comando en línea).
- Register-ScheduledTask: registra la tarea en el sistema con los parámetros definidos.

Código de Ejemplo: powershell

# Importa el módulo para gestionar las tareas programadas
Import-Module ScheduledTasks

# Define el nombre de la tarea programada
$nomeAttivita = 'EsempioAttivitaPianificata'

# Ruta de la carpeta y del archivo de registro
$cartellaLog = 'C:\Temp'
$fileLog = Join-Path -Path $cartellaLog -ChildPath 'log_attivita.txt'

# Verifica si la carpeta existe, si no, la crea
if (-not (Test-Path -Path $cartellaLog)) {
    New-Item -Path $cartellaLog -ItemType Directory | Out-Null
}

# Comprueba si la tarea ya existe para evitar duplicados
$attivitaEsistente = Get-ScheduledTask -TaskName $nomeAttivita -ErrorAction SilentlyContinue
if ($null -ne $attivitaEsistente) {
    Write-Host "La tarea '$nomeAttivita' ya existe. No se realizó ninguna acción."
    return
}

# Define el disparador: ejecución diaria a las 12:00
$trigger = New-ScheduledTaskTrigger -Daily -At 12:00

# Define la acción: ejecuta PowerShell que añade una línea con fecha y hora en el archivo de registro
$azioneScript = "Add-Content -Path '$fileLog' -Value \"Tarea ejecutada el $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')\""
$azione = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument "-NoProfile -WindowStyle Hidden -Command $azioneScript"

# Registra la tarea programada con el disparador y la acción definidos
Register-ScheduledTask -TaskName $nomeAttivita -Trigger $trigger -Action $azione -Description 'Escribe un registro cada día al mediodía' -User 'SYSTEM'

Write-Host "Tarea programada '$nomeAttivita' creada con éxito."
×
×
×
¿Quieres regenerar la respuesta?
×
Exportar chat
Elige el formato de exportación
⏳ Generazione PDF in corso…
Allegati
×
⚠️ Estás a punto de cerrar el chat y pasar al generador de imágenes. Si no has iniciado sesión, perderás nuestro chat. ¿Confirmas?
👁 Estás viendo un chat compartido en modo temporal. No se guardará.
💬
×
Prompts guardados
×
Nota privada
×
Etiqueta
×
Buscar en todos los chats
×
Tus insights
Analizando…
×
Preferencias de IA
Nombre del asistente 30
Longitud de las respuestas
Modelo de IA
Respuestas estructuradas
Incluir ejemplos
Usar emojis
Guíame, no resuelvas Pistas y preguntas en vez de la solución hecha
Más ajustes →
×
Compartir este chat
Quien abra este enlace podrá ver el chat o añadirlo a su perfil como chat propio.
⚠️ Atención: también se compartirán los archivos adjuntos del chat. Quien lo añada recibirá una copia en su propia carpeta.
Chat compartido
Alguien ha compartido un chat contigo. ¿Solo quieres verlo o añadirlo a tus chats?
⚠️ Atención: también se compartirán los archivos adjuntos del chat. Quien lo añada recibirá una copia en su propia carpeta.
×

📌 Mensajes guardados

Cargando...

×

Historial de Chat

programas-ejemplo · HISTORIAL DE CHAT

Cargando...

Preferencias de IA

×
  • 🟢 BásicoRespuestas rápidas y esenciales para estudiar
  • 🔵 MedioMayor calidad para estudio y programación
  • 🟣 AvanzadoRazonamiento complejo y análisis detallado
Explicar Pasos

¿Qué se necesita?

PowerShell versión 5.0 o superior (módulo ScheduledTasks incluido)

Permisos administrativos para crear tareas programadas

CONFIG: Nombre de la tarea: 'EsempioAttivitaPianificata'

CONFIG: Disparador diario a las 12:00 (mediodía)

CONFIG: Acción: ejecutar PowerShell con comando que escribe en C:\Temp\log_attivita.txt

CONFIG: Archivo de registro: C:\Temp\log_attivita.txt (la carpeta debe existir o ser creada)

Temas Similares

Utilidad PowerShell para generar contraseñas aleatorias simples
Script PowerShell simple para generar contraseñas aleatorias con longitud definida por el usuario usando caracteres alfanuméricos básicos sin caracteres especia
Script de PowerShell para renombrar archivos según la fecha de creación
Script de PowerShell para renombrar archivos con la fecha de creación en formato YYYYMMDD, evitando duplicados y conflictos de nombres.
Utilidad PowerShell para buscar archivos por extensión en una carpeta
Script PowerShell sencillo para buscar archivos por extensión en una carpeta específica con manejo de errores y salida en pantalla adaptable a pipelines.
Script de PowerShell para listar procesos en ejecución y guardarlos en CSV
Script de PowerShell para listar procesos activos y guardar datos clave en CSV, ideal para monitorear uso de CPU y memoria fácilmente.
Script de PowerShell para contar el número de archivos en cada subcarpeta
Script de PowerShell para contar archivos en subcarpetas de una ruta especificada, con manejo de errores y salida clara en consola para análisis rápido.
Utilidad PowerShell para reemplazar una cadena en todos los archivos de texto de una carpeta
Script PowerShell para reemplazar cadenas en todos los archivos de texto de una carpeta, fácil de usar y sin dependencias externas, con manejo de errores básico
Script de PowerShell para crear una estructura de carpetas predeterminada para un proyecto
Script de PowerShell para crear automáticamente una estructura de carpetas estándar en proyectos de software, facilitando la organización y configuración inicia
Script de PowerShell para monitorear el espacio libre en un disco local
Script de PowerShell para monitorear el espacio libre en discos locales con alertas configurables y mensajes claros en consola para usuarios Windows.