6.0 KiB
Recuperación desde cero y alta en una sola ejecución
Los releases entregan dos ZIP independientes. Cada uno contiene sus binarios, scripts, instalador offline requerido y un manifiesto SHA-256 interno. No contienen contraseñas, claves privadas ni certificados reutilizables.
Importante: reconstruir un bosque con el mismo nombre DNS no restaura el bosque anterior. Cambia el SID del dominio. Los equipos unidos al bosque viejo deberán borrarse/reinstalarse o salir de aquel dominio y unirse al nuevo. Para conservar cuentas, SID, contraseñas y relaciones de confianza se necesita una copia de estado del sistema de Active Directory y un procedimiento de recuperación de bosque, no este bootstrap.
Windows Server nuevo
Compatible con Windows Server con Windows PowerShell 5.1. El servidor necesita una interfaz privada para el dominio y, para autenticar contra SGU, salida HTTPS por esa u otra interfaz.
- Descargar y extraer
sgu-server-bootstrap-VERSION.zip. - Abrir el directorio extraído.
- Ejecutar, indicando la IP fija que tendrá el controlador:
Start-SguServerBootstrap.cmd 192.168.50.10
El iniciador solicita elevación UAC. El script pide una contraseña de Directory
Services Restore Mode sin guardarla, instala AD DS/DNS/GPMC, crea el bosque y
reinicia una vez. Un trabajo local bajo SYSTEM continúa automáticamente un
minuto después del arranque; no hace falta ejecutar un segundo comando.
Cuando hay más de una interfaz candidata, o se necesita gateway/prefijo/forwarders explícitos, usar Windows PowerShell elevado:
powershell.exe -NoProfile -ExecutionPolicy Bypass `
-File .\Initialize-SguDomainController.ps1 `
-ServerIPv4Address 192.168.50.10 `
-PrefixLength 24 `
-NetworkInterfaceAlias 'Ethernet' `
-DnsForwarders 172.21.80.1,1.1.1.1
El proceso crea o configura de forma idempotente:
- bosque y DNS
lci.lasalle.mx/LCI; - registro
sgu-auth.lci.lasalle.mxapuntando a la IP proporcionada; OU=Laboratorio,OU=Usuarios-SGUy sus OUDocentes,AlumnosyAdministrativos;- grupo de seguridad
SG-Laboratorio-Usuarios-RDP; - GPO de experiencia del equipo y restricciones de sesión SGU;
- certificado de servidor no exportable y broker mTLS en TCP 8443;
- recurso
\\SERVIDOR\Packages, con lectura para Domain Computers; - RDP con NLA, WinRM/PowerShell Remoting y reglas administrativas sólo en el perfil Domain;
- pantalla, suspensión e hibernación en Nunca.
El broker arranca con una lista de clientes vacía. Eso no abre el servicio: mTLS
rechaza todos los certificados hasta que el primer cliente registra el suyo.
Los archivos opcionales colocados en payload\server-content\Packages al crear
el release se copian al recurso compartido. Si allí existe wallpaper.jpg,
wallpaper.jpeg, wallpaper.png o wallpaper.bmp, la GPO de usuarios lo aplica
automáticamente como fondo con ajuste Fill.
Estado y diagnóstico:
Get-Content C:\ProgramData\SGU\Bootstrap\Server\bootstrap.log
Get-Content C:\ProgramData\SGU\Bootstrap\Server\bootstrap-complete.json
Get-ScheduledTask SGU-Complete-Domain-Controller-Bootstrap -ErrorAction SilentlyContinue
La tarea programada se elimina únicamente cuando todas las verificaciones finales concluyen. Si algo externo falla, corregirlo y volver a ejecutar el mismo script; las operaciones terminadas se reutilizan.
Windows 10/11 nuevo
Se admiten Pro, Enterprise y Education. Windows Home no puede unirse a Active Directory local ni actuar como host RDP; el bootstrap lo detecta antes de cambiar el equipo y explica que se debe actualizar la edición.
- Descargar y extraer
sgu-client-bootstrap-VERSION.zip. - Ejecutar con la IP fija actual del controlador de dominio:
Start-SguClientEnrollment.cmd 192.168.50.10
Después de UAC, se solicita interactivamente la credencial autorizada para unir equipos. La contraseña existe sólo en memoria. El bootstrap:
- apunta el DNS del adaptador al IP proporcionado;
- abre una sesión WinRM autenticada con el DC y verifica que pertenece al dominio esperado;
- crea en el cliente un certificado mTLS RSA-3072 no exportable y envía sólo su parte pública al broker;
- recupera por esa sesión autenticada el certificado público del broker;
- instala el runtime .NET 10 offline y el Credential Provider;
- valida binarios, registro COM, certificados y salud del broker;
- instala el guardián de reparación al arranque;
- sólo entonces ejecuta
Add-Computerdentro deOU=Laboratorioy reinicia; - al arrancar, activa RDP/NLA, WinRM y las reglas Domain, y vuelve a validar el enrolamiento.
Para elegir adaptador o nombre del equipo explícitamente:
powershell.exe -NoProfile -ExecutionPolicy Bypass `
-File .\Invoke-SguClientBootstrap.ps1 `
-DomainControllerIPv4Address 192.168.50.10 `
-NetworkInterfaceAlias 'Ethernet' `
-NewComputerName 'LCI-101'
La IP del argumento es siempre la IP fija actual del servidor, no una IP que
queda compilada en el Credential Provider. El proveedor usa después el nombre
DNS sgu-auth.lci.lasalle.mx, que el bootstrap del servidor actualiza.
Un administrador del dominio todavía puede ignorar deliberadamente este flujo y
ejecutar Add-Computer a mano; ninguna GPO puede impedir a un administrador del
bosque modificar el dominio. Para la operación soportada, el script aplica una
transacción proveedor-primero y se niega a unir un equipo que no haya pasado las
validaciones.
Crear y publicar un release
Desde el repositorio y con el SDK fijado en global.json:
.\scripts\New-SguBootstrapPackages.ps1 -Version 0.1.0
.\scripts\Publish-GiteaRelease.ps1 -Version 0.1.0
El segundo comando usa GITEA_TOKEN sólo en memoria o, si no está definido,
solicita la credencial existente a Git Credential Manager. No coloca el token en
la línea de comandos. Para empaquetar recursos institucionales adicionales:
.\scripts\New-SguBootstrapPackages.ps1 `
-Version 0.1.0 `
-ServerContentPath C:\Preparacion\Packages
SHA256SUMS-VERSION.txt permite comprobar ambos ZIP antes de usarlos.