Unidad Didáctica 4 · Licencias, instalación y distribución del software
01Licencias del Software: Definiciones y Tipos
Una licencia de software es el contrato por el que el titular de los derechos (el autor o la empresa) autoriza a otra persona a usar el programa en unas condiciones. Comprar un programa no es comprar el programa, sino un derecho de uso con límites.
- Titular de los derechos: autor o empresa propietaria del código.
- Licenciatario: quien recibe el permiso de uso.
- EULA (End User License Agreement): contrato de licencia que acepta el usuario final al instalar.
- Código fuente: el programa tal como lo escribe el programador; código objeto o binario: lo que ejecuta el equipo.
Tipos según la propiedad, el uso y la distribución
| Tipo | ¿Se paga? | ¿Código fuente? | ¿Se puede redistribuir y modificar? | Ejemplos |
|---|
| Propietario o privativo | Normalmente sí | No | No | Windows, Microsoft Office, Photoshop |
| Freeware | No | No | Redistribuir a veces; modificar no | 7-Zip antiguo, CCleaner Free, visores |
| Shareware o de prueba (trial) | Tras el periodo de prueba | No | No | WinRAR, versiones de evaluación |
| Software libre | Puede ser gratis o de pago | Sí | Sí, con las condiciones de su licencia | Linux, LibreOffice, Firefox, GIMP |
| Código abierto (open source) | Ídem | Sí | Sí (definición OSI) | Muy similar al libre en la práctica |
| Dominio público | No | Normalmente | Sí, sin condiciones | SQLite |
| OEM | Incluida en el equipo | No | Ligada al hardware; no transferible | Windows preinstalado |
| Por volumen | Sí | No | Según contrato | Contratos empresariales de Microsoft |
Las cuatro libertades del software libre (FSF)Usar el programa con cualquier propósito; estudiar cómo funciona y adaptarlo; redistribuir copias; mejorar el programa y publicar las mejoras. Las libertades 1 y 3 exigen acceso al código fuente.
02Licencias de Software No Propietario: GPL, BSD, MPL y EUPL
| Licencia | Tipo | Condición principal | Ejemplos de uso |
|---|
| GPL v2 / v3 (GNU General Public License) | Copyleft fuerte | Si distribuyes el programa o una obra derivada, debe ser también GPL y con su código fuente | Núcleo Linux (v2), Bash, GIMP |
| LGPL | Copyleft débil | Las bibliotecas LGPL se pueden enlazar desde software privativo; las modificaciones de la biblioteca sí deben publicarse | Bibliotecas como glibc |
| AGPL | Copyleft de red | Como GPL, pero también obliga si el programa se ofrece como servicio por la red | Nextcloud, Snipe-IT |
| BSD (2 y 3 cláusulas) | Permisiva | Mantener el aviso de copyright; se puede incluir en software privativo sin publicar el código | FreeBSD; partes de macOS |
| MIT y Apache 2.0 | Permisivas | Mantener el aviso; Apache añade una concesión expresa de patentes | Muy usadas en proyectos actuales |
| MPL 2.0 (Mozilla Public License) | Copyleft por fichero | Los ficheros MPL modificados deben seguir siendo MPL; se pueden combinar con otros ficheros de cualquier licencia | Firefox, Thunderbird |
| EUPL 1.2 (European Union Public Licence) | Copyleft | Creada por la Comisión Europea, válida en todas las lenguas oficiales de la UE y compatible con GPL, MPL y otras | Software de administraciones públicas europeas |
En la prácticaPara el operador, lo importante es: el software libre se puede instalar en todos los equipos sin coste de licencia, pero hay que respetar sus condiciones si se modifica o se redistribuye, sobre todo si la empresa lo incluye en un producto que vende.
03Derechos de Autor y Normativa Vigente
| Norma | Qué establece |
|---|
| Real Decreto Legislativo 1/1996, Ley de Propiedad Intelectual (TRLPI), arts. 95-104 | Los programas de ordenador se protegen como obras literarias; derechos del autor; copia de seguridad permitida; límites |
| Directiva 2009/24/CE | Protección jurídica de los programas de ordenador en la UE |
| Código Penal, art. 270 | Delito contra la propiedad intelectual: reproducir, distribuir o comunicar sin autorización con ánimo de beneficio y en perjuicio de terceros |
| Código Penal, arts. 197 y siguientes | Acceso ilícito a sistemas (relevante al usar herramientas de acceso) |
| Ley 34/2002 (LSSI) | Servicios de la sociedad de la información |
| Ley 37/2007 y Real Decreto 4/2010 (Esquema Nacional de Interoperabilidad) | Reutilización de la información y uso de estándares abiertos en la Administración, que favorece la EUPL |
Lo que se puede y no se puede hacer
- Se puede: hacer la copia de seguridad del programa, instalarlo según indique la licencia, usar software libre sin límite de equipos.
- No se puede: instalar más copias de las licenciadas, compartir claves, usar una licencia doméstica o de estudiante en una empresa, descifrar protecciones.
- La empresa es responsable del software que se instala en sus equipos, aunque lo haya instalado un empleado: por eso hay que controlar los permisos de instalación y el inventario.
- Organizaciones como la BSA (Business Software Alliance) realizan campañas y auditorías en nombre de los fabricantes.
04Instalación y Prueba de Componentes Software de Aplicación
1. Identificar los requisitos del sistema: SO y versión, arquitectura (x64 o ARM64), CPU, RAM, disco, resolución, dependencias (.NET, Visual C++ Redistributable, Java), puertos y permisos.
2. Leer la documentación del fabricante: guía de instalación, notas de la versión (release notes), problemas conocidos, matriz de compatibilidad.
3. Preparar el sistema: copia de seguridad o punto de restauración, instantánea si es una VM, cierre de aplicaciones, cuenta con permisos.
4. Parámetros y configuración durante la instalación: carpeta de destino, componentes, idioma, servidor de licencias, conexión a base de datos, accesos directos, actualizaciones automáticas.
5. Proceso de instalación: asistente, instalación silenciosa o por paquete; anotar cualquier error.
6. Configuración posterior: parámetros, usuarios, asociaciones de archivos, acceso a periféricos.
7. Realización de pruebas: que arranca, que hace las funciones principales, que imprime o accede a lo que necesita, que no ha roto otras aplicaciones; con un usuario normal, no solo con el administrador.
8. Registrar: en el inventario y en la CMDB: versión, equipo, fecha, licencia, técnico.
| Tipo de prueba | Qué comprueba |
|---|
| De humo (smoke test) | Que arranca y lo básico funciona |
| Funcional | Que cada función esperada hace lo que debe |
| De integración | Que se comunica bien con otros sistemas (base de datos, impresora, correo) |
| De regresión | Que lo que funcionaba antes sigue funcionando |
| De aceptación del usuario | Que el usuario confirma que le sirve |
05Instalaciones Programadas, Remotas y Acceso a Periféricos
Instalaciones programadas y remotas
- Programadas: se lanzan en una fecha y hora, normalmente fuera del horario laboral, con o sin reinicio.
- Remotas: el técnico o la plataforma instalan sin estar delante del equipo (consola de despliegue, PowerShell remoto, SSH, Ansible).
- Con aviso al usuario: notificación, posibilidad de posponer un número de veces y fecha límite.
- En ventanas de mantenimiento acordadas para servidores.
REM Instalaciones silenciosas habituales en Windows
msiexec /i programa.msi /qn /norestart /l*v C:\Logs\programa.log
setup.exe /S (instaladores NSIS)
setup.exe /VERYSILENT /NORESTART (instaladores Inno Setup)
winget install --id 7zip.7zip -e --silent --accept-package-agreements
# Linux
sudo apt-get install -y --no-install-recommends paquete
ansible equipos_aula -b -m apt -a 'name=libreoffice state=present'
Configuración de aplicaciones para el acceso a periféricos
- Impresoras: elegir la impresora y la bandeja por defecto en la aplicación, controlador adecuado (PCL o PostScript), formatos de papel propios (por ejemplo, para la matricial de albaranes).
- Lectores de códigos de barras, básculas, cajones portamonedas: configurar el puerto (COM virtual o USB-HID) y el protocolo en la aplicación.
- Escáneres: controladores TWAIN o WIA y perfil de digitalización.
- Lectores de tarjetas y certificados electrónicos: middleware del DNIe o de la tarjeta criptográfica.
- Cámaras, micrófonos y almacenamiento: permisos de privacidad del SO para cada aplicación.
06Administración y Distribución de Paquetes Software
Un paquete es el conjunto preparado para instalar un software de forma automática y repetible: los ficheros de instalación, los parámetros silenciosos, los scripts previos y posteriores, las condiciones de detección (cómo saber si ya está instalado) y las dependencias.
Creación del paquete: partir del instalador oficial (MSI preferiblemente), definir parámetros silenciosos, añadir ficheros de configuración o transformaciones (MST), y definir la regla de detección (clave de registro, fichero o código de producto).
Prueba: en un equipo de laboratorio limpio y en uno representativo.
Distribución a los puntos de distribución: copiar el contenido a los gateways de cada sede.
Programación del despliegue: a qué colección, cuándo, si es obligatorio o disponible, comportamiento con el usuario y reinicios.
Publicación del paquete: en el portal o tienda de empresa como software disponible para autoservicio.
Seguimiento: porcentaje de éxito, errores por equipo, reintentos.
Obtención de información de la distribución
| Estado del despliegue | Significado | Acción |
|---|
| Correcto | Instalado y detectado | Ninguna |
| En curso o pendiente | El equipo aún no lo ha recibido o está fuera de la ventana | Esperar; comprobar que el equipo está encendido y conectado |
| Error | La instalación devolvió un código de error | Revisar el log; código MSI 1603 = error grave, 1618 = otra instalación en curso |
| Requisitos no cumplidos | SO o espacio insuficientes | Revisar el equipo o el paquete |
| Desconocido | El equipo no informa | Revisar el agente |
Códigos de salidaUn paquete bien hecho devuelve 0 si todo va bien y 3010 si se ha instalado pero necesita reiniciar. La plataforma interpreta esos códigos; un script que siempre devuelve 0 aunque falle engaña a todo el sistema de informes.
07Instalaciones No Automatizadas: Instaladores y Archivos de Comando
No siempre hay una plataforma de despliegue. En una pyme, o para un programa con un instalador poco colaborador, el operador crea sus propios scripts o archivos de comando.
@echo off
REM instalar_7zip.cmd: instala 7-Zip si no está y deja log
set LOG=C:\Logs\7zip_%COMPUTERNAME%.log
if exist "C:\Program Files\7-Zip\7z.exe" (echo Ya instalado >> %LOG% & exit /b 0)
msiexec /i "\\SRV-FICHEROS\paquetes\7z2408-x64.msi" /qn /norestart /l*v %LOG%
exit /b %ERRORLEVEL%
# instalar.ps1: versión PowerShell con comprobación de requisitos
if ((Get-PSDrive C).Free -lt 2GB) { Write-Error 'Espacio insuficiente'; exit 1 }
$argumentos = '/i \\SRV-FICHEROS\paquetes\app.msi /qn /norestart /l*v C:\Logs\app.log'
$p = Start-Process msiexec -ArgumentList $argumentos -Wait -PassThru
exit $p.ExitCode
- Creadores de instaladores: WiX Toolset o Advanced Installer (MSI), Inno Setup y NSIS (EXE), MSIX Packaging Tool; en Linux, crear paquetes .deb o .rpm.
- Ficheros de respuesta: muchos instaladores admiten un fichero con las respuestas al asistente (por ejemplo, setup.iss o un .xml de configuración, como el de la herramienta de implementación de Office).
- Repositorios propios: un repositorio interno de apt o un servidor WinGet o Chocolatey privado.
08Despliegue de Sistemas Operativos: Imágenes, PXE y Aprovisionamiento
Instalar el sistema operativo equipo a equipo con un USB solo es razonable para unos pocos puestos. Con decenas o cientos de equipos se usan técnicas de despliegue masivo.
| Técnica | Cómo funciona | Herramientas |
|---|
| Clonado de imagen | Se prepara un equipo modelo, se generaliza y se copia su disco a los demás | Clonezilla, FOG Project, Macrium; sysprep /generalize en Windows |
| Arranque por red (PXE) | El equipo arranca desde la tarjeta de red, recibe por DHCP la dirección del servidor y descarga el entorno de instalación | WDS (Windows Deployment Services), FOG, iPXE, servidores TFTP |
| Instalación desatendida | La instalación lee un fichero de respuestas y no pregunta nada | autounattend.xml (Windows), preseed (Debian), kickstart (Red Hat), autoinstall/cloud-init (Ubuntu) |
| Secuencias de tareas | Instalación del SO + controladores + aplicaciones + configuración en un solo flujo | MDT, Configuration Manager |
| Aprovisionamiento en la nube | El equipo llega de fábrica; al iniciar sesión con la cuenta corporativa se configura solo | Windows Autopilot + Intune, Apple Business Manager |
1. Imagen base: SO actualizado y lo mínimo común; mejor una imagen ligera más paquetes que una imagen enorme que hay que rehacer cada mes.
2. Generalizar: en Windows, sysprep /generalize /oobe elimina el identificador único (SID) y los datos del equipo modelo; sin este paso, los clones dan problemas en el dominio.
3. Controladores: repositorio de controladores por modelo de equipo.
4. Aplicaciones y configuración: desde la plataforma de despliegue o por GPO tras unirse al dominio.
5. Prueba y registro: comprobar un equipo de cada modelo y darlo de alta en el inventario.
REM Generalizar un Windows modelo antes de capturar la imagen
C:\Windows\System32\Sysprep\sysprep.exe /generalize /oobe /shutdown
REM Capturar y aplicar una imagen con DISM
dism /Capture-Image /ImageFile:D:\imagenes\base.wim /CaptureDir:C:\ /Name:"Base 2026"
dism /Apply-Image /ImageFile:D:\imagenes\base.wim /Index:1 /ApplyDir:W:\
Unidad Didáctica 5 · Procedimientos de mantenimiento de software
09Tipos de Mantenimiento y Plan de Mantenimiento
| Tipo | Objetivo | Ejemplo |
|---|
| Correctivo | Corregir errores que aparecen durante el uso | Parche que arregla un fallo de cálculo en el programa de nóminas |
| Evolutivo (perfectivo) | Añadir o mejorar funciones según nuevas necesidades | Nueva versión con el modelo fiscal actualizado |
| Adaptativo | Adaptarse a cambios del entorno (SO, hardware, normativa) | Versión compatible con Windows 11 24H2 |
| Preventivo | Evitar fallos futuros | Aplicar parches de seguridad, limpiar logs, revisar certificados |
Objetivos de un plan de mantenimiento
- Mantener el software dentro de su periodo de soporte del fabricante (ciclo de vida).
- Aplicar los parches de seguridad en plazo (por ejemplo, críticos en 7 días, el resto en 30).
- Reducir incidencias y paradas no planificadas.
- Asegurar que todos los equipos de un mismo tipo tienen las mismas versiones (homogeneidad).
- Planificar las actualizaciones mayores y su presupuesto.
- Documentar todo lo que se hace.
| Contenido del plan | Ejemplo |
|---|
| Inventario del software afectado y su ciclo de vida | Windows 10 sin soporte desde octubre de 2025: plan de migración |
| Calendario | Parches de Microsoft el segundo martes de cada mes; aplicación en piloto el jueves y en general la semana siguiente |
| Grupos y anillos | Piloto (TI) → grupo pequeño → toda la organización |
| Responsables | Quién prueba, quién aprueba, quién despliega |
| Procedimientos de vuelta atrás | Cómo desinstalar un parche problemático |
| Indicadores | % de equipos actualizados, parches pendientes, incidencias causadas por actualizaciones |
10Gestión de Parches en Windows y Linux
Los parches de seguridad son la forma más frecuente de mantenimiento preventivo. La dificultad no es instalarlos, sino hacerlo a tiempo en todos los equipos sin romper nada.
| Entorno | Herramienta | Qué permite |
|---|
| Windows con dominio local | WSUS (Windows Server Update Services) | Aprobar actualizaciones por grupos de equipos y descargarlas una vez para toda la red |
| Windows gestionado en la nube | Windows Update for Business / Windows Autopatch con Intune | Anillos con retrasos configurables (por ejemplo, piloto a 0 días, general a 7 días) y fecha límite de instalación |
| Windows sin gestión central | Directivas locales de Windows Update | Horas activas, reinicios, aplazamientos |
| Debian/Ubuntu | unattended-upgrades | Instalar automáticamente las actualizaciones de seguridad |
| Red Hat y derivados | dnf-automatic | Lo mismo para sistemas basados en RPM |
| Aplicaciones de terceros | Plataformas de parches (WinGet, PDQ, ManageEngine), actualización automática del propio programa | Navegadores, lectores PDF, Java, compresores |
| Firmware | Herramientas del fabricante (Dell Command Update, HP Image Assistant, fwupd en Linux) | BIOS/UEFI, controladoras, discos |
REM Estado de Windows Update y parches instalados
Get-HotFix | Sort InstalledOn -Descending | Select -First 5
UsoClient StartScan
# Debian/Ubuntu: actualizaciones automáticas de seguridad
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
cat /var/log/unattended-upgrades/unattended-upgrades.log | tail
# Firmware en Linux
fwupdmgr get-updates
| Anillo | Equipos | Retraso | Objetivo |
|---|
| 0 · Piloto | Equipos de TI | 0 días | Detectar fallos evidentes |
| 1 · Temprano | 5-10 % de usuarios voluntarios de distintos departamentos | 2-3 días | Probar con aplicaciones reales |
| 2 · General | Resto de puestos | 7 días | Cobertura completa |
| 3 · Críticos | Servidores y equipos especiales | Ventana de mantenimiento | Con instantánea y plan de vuelta atrás |
PlazosUna referencia habitual (por ejemplo en las guías del CCN o de los CIS Controls) es aplicar los parches críticos explotados activamente en días, no en semanas, y el resto dentro del mes. Deben quedar registrados como cambios estándar o de emergencia.
11Control de Cambios y Gestión de Peticiones
Cualquier modificación de software en producción es un cambio, y debe pasar por el proceso de gestión de cambios (habilitación del cambio en ITIL 4) para reducir el riesgo.
| Tipo de cambio | Descripción | Aprobación |
|---|
| Estándar | Frecuente, de bajo riesgo, con procedimiento probado | Preaprobado (por ejemplo, instalar el lector PDF del catálogo) |
| Normal | Requiere evaluación | Responsable o comité de cambios (CAB) |
| De emergencia | Hay que hacerlo ya para resolver una incidencia grave o una vulnerabilidad activa | Autorización urgente y revisión posterior |
Gestión de peticiones de cambio (RFC)
1. Solicitud: quién lo pide, qué, por qué, qué equipos o servicios afecta y cuándo.
2. Evaluación: riesgo, impacto, recursos, plan de pruebas y de vuelta atrás.
3. Aprobación o rechazo: por el responsable correspondiente.
4. Planificación: fecha, ventana, comunicación a los usuarios.
5. Implementación: según el plan.
6. Revisión y cierre: ¿funcionó?, ¿hubo incidencias?; se actualizan la CMDB y la documentación.
| Responsable | Función en el cambio |
|---|
| Solicitante | Pide el cambio y lo justifica |
| Gestor del cambio | Coordina el proceso y lleva el calendario de cambios |
| Comité de cambios (CAB) | Evalúa y aprueba los cambios normales importantes |
| Implementador (operador o técnico) | Ejecuta el cambio y las pruebas |
| Propietario del servicio | Valida que el servicio funciona después |
12Proceso de Actualización, Desinstalación y Vuelta Atrás
Actualizar se parece a instalar (mismos requisitos, misma documentación, mismas pruebas), pero con un riesgo añadido: hay datos y configuraciones que conservar y usuarios que dependen del programa.
1. Verificación de requisitos de actualización: versión de origen admitida (¿se puede saltar de la 8 a la 11 o hay que pasar por la 10?), requisitos nuevos, compatibilidad con complementos e integraciones.
2. Copia de seguridad: de datos, configuración y, si es posible, del equipo completo o instantánea.
3. Desinstalación del software no utilizado: aprovechar para quitar versiones antiguas, complementos obsoletos y programas que no se usan.
4. Actualización: según el procedimiento del fabricante, en la ventana acordada.
5. Realización de pruebas: las mismas que en la instalación, más las de regresión.
6. Restauración del software previo si falla: desinstalar la nueva versión y reinstalar la anterior, restaurar la instantánea o la copia, o usar la función de vuelta atrás del SO.
REM Windows: actualizaciones y vuelta atrás
winget upgrade --all --silent
wusa /uninstall /kb:5034441 /quiet /norestart (desinstalar un parche)
Get-HotFix | Sort InstalledOn -Desc | Select -First 10
# Linux (Debian/Ubuntu)
sudo apt update && apt list --upgradable
sudo apt install paquete=1.2.3-1 # volver a una versión concreta
sudo apt-mark hold paquete # congelar una versión
sudo apt autoremove --purge # quitar lo que ya no se usa
InstantáneasEn servidores virtuales, hacer una instantánea (snapshot) justo antes de actualizar permite volver atrás en minutos. Pero una instantánea no es una copia de seguridad y no debe conservarse durante semanas: degrada el rendimiento y llena el almacén.
13Mantenimiento de la Base de Datos de Gestión
La base de datos de la plataforma de gestión de activos crece sin parar. Si no se mantiene, se llena de equipos que ya no existen, el inventario deja de ser fiable y los informes se vuelven lentos.
| Tarea | Descripción | Periodicidad orientativa |
|---|
| Eliminación de equipos y usuarios | Purgar o archivar los equipos que no informan desde hace X días y los usuarios dados de baja, tras comprobarlo | Mensual |
| Eliminación de aplicaciones y programas | Retirar del catálogo los paquetes obsoletos y su contenido de los puntos de distribución | Trimestral |
| Exportación e importación de datos | Exportar a CSV para compras o auditorías; importar altas masivas desde hojas de cálculo; migrar entre versiones | Según necesidad |
| Copias de seguridad | Copia completa de la base de datos y de los ficheros de la aplicación, con prueba de restauración | Diaria |
| Optimización | Reindexar, actualizar estadísticas, comprobar la integridad | Semanal o mensual |
| Revisión de duplicados | Equipos dados de alta dos veces por cambio de nombre o de placa | Mensual |
# Copia de seguridad de la base de datos de GLPI (MariaDB)
mysqldump --single-transaction -u copias -p glpi | gzip > glpi_$(date +%F).sql.gz
# Restauración en un servidor de pruebas
gunzip < glpi_2026-11-10.sql.gz | mysql -u root -p glpi_pruebas
Unidad Didáctica 6 · Procedimientos de administración
14Administración de Sistemas en Red: Conceptos y Tareas Básicas
Un sistema operativo de red permite compartir recursos (ficheros, impresoras, aplicaciones) y gestionar de forma centralizada usuarios y equipos. Ejemplos: Windows Server con Active Directory, Linux con Samba (que también puede actuar como controlador de dominio), FreeIPA o los servicios de directorio en la nube (Microsoft Entra ID).
Tareas básicas de administración
- Gestionar cuentas de usuario, grupos y permisos.
- Compartir carpetas e impresoras.
- Aplicar directivas de configuración y seguridad.
- Instalar, actualizar y retirar software.
- Vigilar el rendimiento, los registros y el espacio en disco.
- Hacer y comprobar las copias de seguridad.
- Documentar la configuración y los cambios.
Entornos de sistema, perfiles y propiedades
| Concepto | Descripción |
|---|
| Variables de entorno | Valores que usan el sistema y los programas (PATH, TEMP, USERPROFILE / HOME) |
| Perfil local | Configuración y datos del usuario en un solo equipo (C:\Users\usuario, /home/usuario) |
| Perfil móvil (roaming) y redirección de carpetas | El perfil o sus carpetas se guardan en un servidor y siguen al usuario a cualquier equipo |
| Perfil obligatorio | Perfil fijo que se restaura en cada inicio de sesión (aulas, quioscos) |
| Propiedades del sistema | Nombre del equipo, dominio, rendimiento, memoria virtual, protección del sistema, escritorio remoto (sysdm.cpl) |
15Aplicaciones, Procesos, Servicios, Eventos y Controladores
| Elemento | Herramientas gráficas | Línea de comandos |
|---|
| Aplicaciones y procesos | Administrador de tareas, Monitor de recursos, Process Explorer | tasklist, taskkill, Get-Process, Stop-Process · ps, top, kill, nice |
| Servicios | services.msc | sc query, Get-Service, Set-Service · systemctl status/start/enable |
| Eventos | Visor de eventos (eventvwr) | Get-WinEvent, wevtutil · journalctl |
| Controladores y dispositivos | Administrador de dispositivos (devmgmt.msc) | pnputil /enum-drivers, driverquery · lsmod, modprobe, lspci -k |
REM Windows
Get-Service | Where {$_.StartType -eq 'Automatic' -and $_.Status -ne 'Running'}
Set-Service -Name Spooler -StartupType Automatic ; Restart-Service Spooler
Get-WinEvent -LogName Application -MaxEvents 20 | Where Level -le 3
pnputil /enum-drivers | more
# Linux (systemd)
systemctl --failed
sudo systemctl enable --now cups
journalctl -u cups --since '1 hour ago'
ps aux --sort=-%mem | head ; sudo renice +10 -p 1234
Servicios y cuentasCada servicio se ejecuta con una cuenta (LocalSystem, NetworkService, una cuenta de servicio de dominio o un usuario dedicado en Linux). Darle más permisos de los necesarios es un riesgo de seguridad: si el servicio se ve comprometido, el atacante obtiene esos permisos.
16Mantenimiento del Sistema de Archivos y de los Soportes
Tipos de soportes y medios extraíbles
- Soportes fijos: HDD y SSD internos, volúmenes de cabina.
- Extraíbles: discos USB, memorias USB, tarjetas SD, ópticos, cintas.
- Mantenimiento de extraíbles: comprobar errores (chkdsk o fsck), formatear con el sistema de archivos adecuado (exFAT para compatibilidad, NTFS o ext4), cifrar (BitLocker To Go, LUKS) y etiquetar.
| Tarea | Windows | Linux | Observaciones |
|---|
| Comprobar errores | chkdsk C: /scan · chkdsk D: /f | fsck (con el volumen desmontado) | Programar en el arranque si es el volumen del sistema |
| Desfragmentar / optimizar | defrag C: /O · Optimizar unidades | e4defrag (rara vez necesario) | En SSD no se desfragmenta: se ejecuta TRIM (retrim), que Windows hace automáticamente |
| Comprimir | compact /c /s:carpeta · Propiedades > Avanzado | btrfs con compresión, gzip/zstd de archivos | Ahorra espacio a cambio de CPU |
| Liberar espacio | cleanmgr, Sensor de almacenamiento, DISM /StartComponentCleanup | apt autoremove, apt clean, journalctl --vacuum-size=200M | Revisar también los logs y temporales de las aplicaciones |
| Analizar el uso | WinDirStat, TreeSize | du -xh --max-depth=1, ncdu | Encontrar lo que ocupa más |
| Copias de seguridad y recuperación | Copias de seguridad de Windows, Historial de archivos, wbadmin | rsync, tar, Borg, restic | Se estudia a fondo en la UF1354 |
Mantenimiento de la configuración del software de base y de aplicación
- Guardar copias de los ficheros de configuración antes de modificarlos.
- Revisar periódicamente que la configuración sigue la línea base aprobada (cumplimiento).
- Exportar las directivas (GPO) y las configuraciones de los servicios.
- Puntos de restauración del sistema antes de instalar controladores o software de sistema.
17Administración de Impresoras de Red y Servicios de Impresión
Instalación y configuración de impresoras locales y de red
| Modelo | Descripción | Ventajas e inconvenientes |
|---|
| Local (USB) | Conectada a un equipo | Sencilla; solo para ese equipo, salvo que se comparta |
| Directa por IP (puerto TCP/IP estándar) | Cada equipo envía directamente a la IP de la impresora | Sin servidor; difícil de gestionar con muchos equipos |
| Servidor de impresión | Los equipos imprimen a una cola compartida del servidor (\\SRV-IMP\Planta2) | Gestión centralizada de controladores, permisos, colas y registros; el servidor es un punto único |
| Impresión en la nube o sin servidor | Universal Print, Printix, PaperCut en la nube | Sin servidores locales; depende de Internet y de una suscripción |
REM Windows Server: crear una impresora compartida
Add-PrinterPort -Name 'IP_10.0.2.50' -PrinterHostAddress '10.0.2.50'
Add-PrinterDriver -Name 'HP Universal Printing PCL 6'
Add-Printer -Name 'Planta2-Laser' -DriverName 'HP Universal Printing PCL 6' -PortName 'IP_10.0.2.50' -Shared -ShareName 'Planta2'
REM Cliente: Add-Printer -ConnectionName \\SRV-IMP\Planta2
# Linux (CUPS)
sudo lpadmin -p Planta2 -E -v ipp://10.0.2.50/ipp/print -m everywhere
Gestión de los trabajos
- Ver, pausar, reanudar, reiniciar y cancelar trabajos de la cola.
- Prioridades y horarios de impresión por cola.
- Permisos por grupos: quién puede imprimir y quién administrar documentos.
- Grupos de impresoras (pooling): varias impresoras iguales detrás de una sola cola.
- Problema típico: un trabajo atascado bloquea la cola. Solución: detener el servicio de cola (Spooler), borrar C:\Windows\System32\spool\PRINTERS\* y volver a iniciarlo.
18Tareas Programadas, Guiones Administrativos y Gestión Remota
Tipos de tareas administrativas más comunes
| Tarea | Modo de ejecución habitual |
|---|
| Copias de seguridad | Programada cada noche |
| Limpieza de temporales y logs | Programada semanal |
| Informes de espacio y de estado | Programada diaria, con envío por correo |
| Alta masiva de usuarios | Guion bajo demanda a partir de un CSV |
| Actualizaciones | Programada en ventana de mantenimiento |
| Reinicio de un servicio que falla | Automática por evento o por la monitorización |
Programación de tareas
REM Windows: Programador de tareas (taskschd.msc) o línea de comandos
schtasks /Create /TN "Limpieza" /TR "powershell -File C:\Scripts\limpieza.ps1" /SC WEEKLY /D SUN /ST 03:00 /RU SYSTEM
schtasks /Query /TN "Limpieza" /V /FO LIST
# Linux: cron (crontab -e) minuto hora día mes día_semana orden
30 2 * * * /usr/local/bin/copia.sh >> /var/log/copia.log 2>&1
0 3 * * 0 /usr/local/bin/limpieza.sh
# o temporizadores de systemd: systemctl list-timers
Archivos de comando: tipos, contenido y asignación
| Tipo | Extensión | Intérprete |
|---|
| Archivo por lotes | .bat, .cmd | cmd.exe |
| PowerShell | .ps1 | powershell.exe / pwsh |
| Shell de Linux/macOS | .sh | bash, sh, zsh |
| Windows Script Host (heredado) | .vbs, .js | wscript / cscript |
| Python | .py | python |
- Contenido recomendado: comentario de cabecera (qué hace, autor, fecha), variables al principio, comprobación de errores, registro (log) de lo que hace y código de salida.
- Asignación: scripts de inicio y apagado del equipo, y de inicio y cierre de sesión del usuario, mediante GPO o en la ficha del usuario; tareas programadas; ejecución desde la plataforma de gestión.
- Seguridad: guardarlos en una ubicación de solo lectura para los usuarios, no escribir contraseñas en ellos y firmarlos si la directiva de ejecución lo exige.
# limpieza.ps1: borra temporales de más de 7 días y deja log
$log = 'C:\Logs\limpieza.log'
$limite = (Get-Date).AddDays(-7)
Get-ChildItem $env:TEMP -Recurse -File -ErrorAction SilentlyContinue |
Where LastWriteTime -lt $limite | Remove-Item -Force -ErrorAction SilentlyContinue
"$(Get-Date -f s) Limpieza completada en $env:COMPUTERNAME" | Add-Content $log
Asistentes, utilidades y herramientas de gestión remota
- Asistentes gráficos: Administrador del servidor, Windows Admin Center, Cockpit (Linux), Webmin.
- Línea de comandos remota: PowerShell Remoting (Enter-PSSession, Invoke-Command), SSH.
- Escritorio remoto: RDP, VNC, herramientas de asistencia.
- Automatización a escala: Ansible, la plataforma de gestión de activos.
19Automatización a Escala con Ansible
Ansible permite describir en ficheros de texto (YAML) el estado deseado de muchos equipos y aplicarlo de una vez por SSH (Linux) o WinRM (Windows), sin instalar agentes. Es idempotente: si algo ya está como se pide, no lo vuelve a tocar.
# inventario.ini
[aula]
pc-aula[01:15].lab.local
[servidores]
srv-web.lab.local
# puesto_aula.yml
- hosts: aula
become: true
tasks:
- name: Paquetes del puesto base
apt:
name: [libreoffice, firefox-esr, p7zip-full, vlc]
state: present
update_cache: true
- name: Actualizaciones de seguridad
apt: {upgrade: safe}
- name: Mensaje legal de inicio de sesión
copy:
dest: /etc/issue.net
content: "Acceso solo para usuarios autorizados del centro.\n"
- name: Servicio SSH activo y al arrancar
service: {name: ssh, state: started, enabled: true}
ansible -i inventario.ini aula -m ping # comprobar el acceso
ansible-playbook -i inventario.ini puesto_aula.yml --check --diff # simular sin cambiar nada
ansible-playbook -i inventario.ini puesto_aula.yml # aplicar
- --check --diff muestra qué cambiaría sin hacerlo: imprescindible antes de lanzarlo en producción.
- Los playbooks se guardan en un repositorio Git, así quedan versionados y revisados como cualquier cambio.
- Las contraseñas no se escriben en claro: se usa ansible-vault o claves SSH.
20PowerShell Práctico para Administración
PowerShell trabaja con objetos, no con texto: la salida de una orden se pasa a la siguiente con todas sus propiedades. Eso permite escribir guiones administrativos cortos y fiables.
# alta_usuarios.ps1 — crea usuarios locales a partir de un CSV
# usuarios.csv: Usuario,Nombre,Grupo
param([string]$Csv = 'C:\Scripts\usuarios.csv')
$log = 'C:\Logs\alta_usuarios.log'
$clave = Read-Host 'Contraseña inicial' -AsSecureString
Import-Csv $Csv | ForEach-Object {
$u = $_ # dentro de catch, $_ pasa a ser el error
try {
if (-not (Get-LocalUser -Name $u.Usuario -ErrorAction SilentlyContinue)) {
New-LocalUser -Name $u.Usuario -FullName $u.Nombre -Password $clave -ErrorAction Stop | Out-Null
Set-LocalUser -Name $u.Usuario -PasswordNeverExpires $false
}
Add-LocalGroupMember -Group $u.Grupo -Member $u.Usuario -ErrorAction SilentlyContinue
"$(Get-Date -f s) OK $($u.Usuario)" | Add-Content $log
} catch {
"$(Get-Date -f s) ERROR $($u.Usuario): $($_.Exception.Message)" | Add-Content $log
}
}
| Orden o técnica | Para qué |
|---|
| Get-Help orden -Examples | Ver ejemplos de uso de cualquier orden |
| Get-Member | Ver las propiedades de los objetos que devuelve una orden |
| Where-Object, Select-Object, Sort-Object | Filtrar, elegir columnas y ordenar |
| Export-Csv, ConvertTo-Html | Generar informes |
| Try / Catch y -ErrorAction Stop | Controlar errores |
| -WhatIf | Simular una orden que modifica algo (como --check en Ansible) |
| Start-Transcript | Registrar todo lo que se hace en una sesión |
| Set-ExecutionPolicy RemoteSigned | Permitir scripts locales y exigir firma a los descargados |
Buena prácticaPrueba siempre con -WhatIf y en un equipo de laboratorio. Un bucle que borra o desactiva cuentas con un filtro equivocado puede dejar sin acceso a toda una organización en segundos.
21Glosario de la Parte II
- EULA
- Contrato de licencia que acepta el usuario final.
- Copyleft
- Condición de las licencias libres que obliga a mantener la misma licencia en las obras derivadas (GPL).
- Licencia permisiva
- Licencia libre que permite incluir el código en software privativo (MIT, BSD, Apache).
- EUPL
- Licencia pública de la Unión Europea, copyleft y compatible con otras licencias libres.
- Instalación silenciosa
- Instalación sin preguntas al usuario, con parámetros predefinidos.
- Paquete
- Conjunto preparado para instalar un software de forma automática y repetible.
- Código de salida
- Número que devuelve un programa al terminar (0 = correcto; 3010 = requiere reinicio).
- RFC
- Petición de cambio formal.
- CAB
- Comité que evalúa y aprueba los cambios.
- Anillo de despliegue
- Grupo de equipos que recibe una actualización en una fase determinada.
- Sysprep
- Herramienta de Windows que generaliza una instalación antes de clonarla.
- PXE
- Arranque de un equipo desde la red para instalar o recuperar el sistema.
- Idempotencia
- Propiedad de una operación que, repetida, deja el mismo resultado (Ansible).
- Tarea programada / cron
- Ejecución automática de una orden en una fecha u hora definida.
- Perfil móvil
- Perfil de usuario guardado en un servidor que sigue al usuario entre equipos.
22Autoevaluación de la Parte II
Una empresa modifica un programa GPL y lo vende a sus clientes. ¿Qué debe hacer?
Distribuirlo también con licencia GPL y dar acceso al código fuente de la versión modificada a quienes reciban el programa.
¿Qué significa que un instalador devuelva el código 1618?
Que hay otra instalación de Windows Installer en curso; hay que esperar y reintentar.
¿Qué diferencia hay entre un cambio estándar y uno de emergencia?
El estándar es frecuente, de bajo riesgo y está preaprobado con un procedimiento probado; el de emergencia hay que hacerlo ya por una incidencia grave o una vulnerabilidad explotada, con autorización urgente y revisión posterior.
¿Por qué hay que ejecutar sysprep /generalize antes de clonar Windows?
Para eliminar el identificador de seguridad (SID) y los datos propios del equipo modelo; si no, los clones tienen identificadores duplicados y fallan en el dominio y en algunas aplicaciones.
Describe una estrategia de anillos para aplicar parches mensuales.
Primero el grupo de TI (piloto, 0 días), luego un grupo temprano de usuarios voluntarios (2-3 días), después el resto (7 días) y los servidores en su ventana de mantenimiento con instantánea previa.
¿Qué hace la opción --check --diff de Ansible?
Simula la ejecución del playbook y muestra qué cambiaría, sin aplicar ningún cambio.
¿Por qué no se desfragmenta un SSD?
Porque no tiene piezas móviles y el acceso no depende de la posición de los datos; desfragmentarlo solo gasta escrituras. En su lugar se ejecuta TRIM.
Un trabajo atascado bloquea la cola de impresión de un servidor Windows. ¿Cómo se resuelve?
Detener el servicio Spooler, borrar los ficheros de C:\Windows\System32\spool\PRINTERS y volver a iniciarlo.
¿Qué debe incluir un buen archivo de comandos administrativo?
Cabecera con su propósito, autor y fecha; variables al principio; control de errores; registro de lo que hace; código de salida, y ninguna contraseña escrita en él.