Unify Windows client bootstrap and discover network paths

This commit is contained in:
2026-09-10 08:13:46 -06:00
parent 74235ec6f8
commit 7f8a9eed4e
14 changed files with 634 additions and 219 deletions
+16 -20
View File
@@ -96,42 +96,38 @@ 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.
1. Descargar y extraer el paquete correspondiente:
`sgu-windows10-legacy-client-bootstrap-VERSION.zip` o
`sgu-windows11-client-bootstrap-VERSION.zip`.
1. Descargar y extraer `sgu-windows-client-bootstrap-VERSION.zip`, común para
Windows 10 y Windows 11 x64 Pro, Enterprise o Education.
2. Ejecutar con la IP fija actual del controlador de dominio:
```bat
Start-SguClientEnrollment.cmd 192.168.50.10 192.168.50.11
Start-SguClientEnrollment.cmd 192.168.50.10
```
El primer argumento es el controlador de dominio y el segundo es una dirección
IPv4 fija, libre y exclusiva del cliente en la red privada. Si se omite la IP
del cliente, el bootstrap la solicita cuando el adaptador sólo tiene APIPA
(`169.254.x.x`). En una VM con Internet por `Default Switch` y otra NIC para
`Laboratorio AD`, el bootstrap elige la NIC sin puerta de enlace y no cambia la
ruta predeterminada. Si falla, la ventana elevada permanece abierta y el mismo
error queda en `C:\ProgramData\SGU\Bootstrap\Client\latest-error.log`.
También puede hacerse doble clic y escribir la IP del controlador. El cliente
conserva sus IP/DHCP y prueba WinRM por las interfaces con rutas disponibles,
incluyendo VPN y redes enrutadas. No requiere compartir subred con el servidor.
Si una NIC sólo tiene APIPA, necesita DHCP o una IP asignada por el administrador;
el bootstrap no inventa direcciones. Si falla, la ventana permanece abierta y
el error queda en `C:\ProgramData\SGU\Bootstrap\Client\latest-error.log`.
Cada manifiesto fija su perfil y evita cruzar paquetes: Windows 10 utiliza
`Windows10Legacy` (build menor a 22000) y Windows 11 `Windows11Modern` (build
22000 o posterior). El ZIP moderno conserva tanto el enrolamiento directo como
Azure P2S/pre-logon; el ZIP legado contiene el flujo directo. El código común y
las garantías de seguridad son idénticos.
El manifiesto usa `Auto` y ambos Windows ejecutan el mismo código. Azure P2S está
incluido para ambos; otras VPN ya conectadas usan el lanzador habitual.
Después de UAC, se solicita interactivamente la credencial autorizada para unir
equipos. La contraseña existe sólo en memoria. El bootstrap:
1. apunta el DNS del adaptador al IP proporcionado;
2. abre una sesión WinRM autenticada con el DC y verifica que pertenece al
dominio esperado;
1. selecciona una interfaz con conectividad comprobada al servidor;
2. abre una sesión WinRM autenticada con el DC, descubre el dominio y configura
DNS mediante NRPT sólo para ese dominio, conservando el DNS de Internet;
3. crea en el cliente un certificado mTLS RSA-3072 no exportable y envía sólo su
parte pública al broker;
4. recupera por esa sesión autenticada el certificado público del broker;
5. instala el runtime .NET 10 offline y el Credential Provider;
6. valida binarios, registro COM, certificados y salud del broker;
7. instala el guardián de reparación al arranque;
8. sólo entonces ejecuta `Add-Computer` dentro de `OU=Laboratorio` y reinicia;
8. sólo entonces ejecuta `Add-Computer` en `OU=Laboratorio` si existe, o en el
contenedor de equipos predeterminado del dominio, y reinicia;
9. al arrancar, activa RDP/NLA, WinRM y las reglas Domain, y vuelve a validar el
enrolamiento.
10. instala RustDesk desde el MSI oficial comprobado, lo apunta al servidor