Prueba final parte 2
Fecha de publicación: 2025-07-09 13h00
Fecha de entrega: 2025-07-09 15h00
Modo de entrega: Omnivox
Modalidad: Prueba individual
Material autorizado: Notas de clase, sus trabajos prácticos y ejercicios, documentación en línea, pero no ayuda externa (no comunicación con otras personas)
Uso de la IA: Según la política del Colegio. Puede utilizar la IA para documentarse, pero el código debe ser escrito completamente por usted mismo.
Script de gestión automatizada de logs del sistema
Contexto
Usted es administrador de sistemas en una empresa. Su responsable le pide crear un script PowerShell para automatizar la gestión de los archivos de logs. Este script debe permitir limpiar, organizar y analizar los logs de manera regular.
Objetivos del trabajo (100 puntos)
Su script PowerShell deberá realizar automáticamente las siguientes acciones:
1. Creación del entorno de trabajo (25 puntos)
Su script debe utilizar la variable de entorno ENTERPRISE_DATA (ya
definida con una ruta válida, por ejemplo C:\EnterpriseLogs) para crear automáticamente la
siguiente estructura de carpetas en $env:ENTERPRISE_DATA\AdminLogs:
$env:ENTERPRISE_DATA\AdminLogs
│
├── Logs_Actuels
│ ├── Systeme
│ ├── Applications
│ └── Securite
├── Archives
│ └── Anciens
└── Rapports
Es posible que las carpetas ya existan. Su script debe verificar su existencia y no causar errores si las carpetas ya están presentes.
Luego, el script también debe crear 5 archivos de logs ficticios en la carpeta Logs_Actuels\Systeme:
system_2025-07-01.log(contenido: "INFO: Inicio del sistema exitoso")system_2025-07-05.log(contenido: "ERROR: Error de disco duro")system_2025-07-08.log(contenido: "WARNING: Memoria baja")system_2025-07-09.log(contenido: "INFO: Sistema actualizado")old_system_2024-12-15.log(contenido: "INFO: Log antiguo")
2. Análisis y búsqueda en los logs (25 puntos)
Su script debe:
- Buscar todos los archivos
.logen la estructura$env:ENTERPRISE_DATA\AdminLogs\Logs_Actuels - Crear una lista de los archivos que contienen la palabra "ERROR" y guardarla en
$env:ENTERPRISE_DATA\AdminLogs\Rapports\erreurs_trouvees.txt
3. Archivado automático (25 puntos)
Su script debe:
- Identificar todos los archivos de logs con fecha de más de 7 días (utilice la fecha en el nombre del archivo)
- Mover estos archivos antiguos a la carpeta
Archives\Anciensy renombrarlos agregando el prefijoARCHIVE_- Ejemplo:
old_system_2024-12-15.log→ARCHIVE_old_system_2024-12-15.log
- Ejemplo:
Atención, es posible que ya existan archivos en la carpeta
Archives\Anciens. Su script no debe agregar ARCHIVE_ a los archivos ya archivados.
(Por lo tanto, no debería haber un archivo llamado ARCHIVE_ARCHIVE_old_system_2024-12-15.log)
Su script puede sobrescribir un archivo existente si el nombre es idéntico.
4. Informe final y verificación (25 puntos)
Su script debe generar un informe final (rapport_gestion_logs.txt) en la
carpeta $env:ENTERPRISE_DATA\AdminLogs\Rapports que contenga:
- La fecha y hora de ejecución del script
- El número de archivos archivados
- El número de archivos que contienen errores
- Un mensaje de confirmación: "Script ejecutado con éxito"
Requisitos técnicos
-
Estructura del script: Su script debe estar bien organizado con comentarios que expliquen cada sección importante.
-
Idempotencia: El script debe poder ejecutarse varias veces sin causar errores.
Comandos útiles de PowerShell
New-Item: Crear archivos y carpetasSet-Content/Add-Content: Escribir en archivosGet-ChildItem: Listar archivos y carpetasSelect-String: Buscar texto en archivosCopy-Item: Copiar archivosMove-Item: Mover archivosRename-Item: Renombrar archivosTest-Path: Verificar la existencia de un archivo/carpetaGet-Date: Obtener la fecha actual
Entregable
Debe entregar en Omnivox su script PowerShell llamado
gestion_logs.ps1.
¡Buena suerte!