103 lines
4.1 KiB
Markdown
103 lines
4.1 KiB
Markdown
# Enrolamiento obligatorio de clientes SGU
|
|
|
|
El flujo administrado instala y valida el Credential Provider **antes** de
|
|
ejecutar `Add-Computer`. La pertenencia al dominio es el último cambio; si falta
|
|
el runtime, un certificado, el registro COM, la directiva predeterminada o la
|
|
salud mTLS del broker, el script rechaza la unión.
|
|
|
|
Una cuenta administrativa todavía puede modificar Windows fuera de este flujo.
|
|
Por eso el enrolamiento también instala la tarea
|
|
`SGU-CredentialProvider-EnrollmentGuard`, ejecutada como `SYSTEM` al iniciar y
|
|
diariamente. La tarea conserva un paquete local protegido, repara el registro o
|
|
los binarios y vuelve a habilitar RDP/WinRM en equipos unidos al dominio. No
|
|
guarda contraseñas.
|
|
|
|
## 1. Preparar el nuevo Windows Enterprise
|
|
|
|
En la VM nueva, antes de unirla al dominio:
|
|
|
|
1. copiar `artifacts\credential-provider` y todos los scripts de `scripts`;
|
|
2. copiar el instalador offline más reciente de .NET 10 x64;
|
|
3. crear el certificado cliente no exportable:
|
|
|
|
```powershell
|
|
powershell.exe -NoProfile -ExecutionPolicy Bypass `
|
|
-File .\New-LabCertificate.ps1 `
|
|
-Role CredentialProviderClient
|
|
```
|
|
|
|
Copiar únicamente el `.cer` público al broker y registrarlo:
|
|
|
|
```powershell
|
|
powershell.exe -NoProfile -ExecutionPolicy Bypass `
|
|
-File .\Register-SguClientCertificate.ps1 `
|
|
-CertificatePath C:\SGUDeploy\new-client.cer
|
|
```
|
|
|
|
Exportar únicamente el certificado público actual del broker e importarlo en
|
|
el cliente con `Import-LabPeerCertificate.ps1`. Nunca copiar claves privadas.
|
|
|
|
## 2. Instalar, comprobar y unir en una sola operación
|
|
|
|
Ejecutar como administrador local dentro de la VM nueva. La credencial del
|
|
dominio se solicita de forma segura si no se proporciona como objeto
|
|
`PSCredential`:
|
|
|
|
```powershell
|
|
powershell.exe -NoProfile -ExecutionPolicy Bypass `
|
|
-File .\Enroll-SguDomainClient.ps1 `
|
|
-PublishPath C:\SGUDeploy\credential-provider `
|
|
-BrokerEndpoint https://sgu-auth.lci.lasalle.mx:8443/v1/authenticate `
|
|
-ClientCertificateThumbprint CLIENT_CERT_THUMBPRINT `
|
|
-ServerCertificateThumbprint SERVER_CERT_THUMBPRINT `
|
|
-DotNetRuntimeInstallerPath C:\SGUDeploy\dotnet-runtime-10-win-x64.exe `
|
|
-NewComputerName LAB-W11-001
|
|
```
|
|
|
|
Orden de la transacción:
|
|
|
|
1. instala .NET y los binarios versionados;
|
|
2. registra COM y configura SGU como proveedor predeterminado;
|
|
3. instala el guard de autorreparación;
|
|
4. exige health mTLS del broker y ejecuta las comprobaciones locales;
|
|
5. configura DNS del dominio;
|
|
6. sólo entonces ejecuta `Add-Computer` y reinicia;
|
|
7. al arrancar, el guard habilita RDP, NLA y WinRM y comprueba el estado final.
|
|
|
|
La directiva de Windows **Assign a default credential provider** selecciona SGU
|
|
por defecto. No se instala ningún filtro: el proveedor de contraseña de
|
|
Microsoft permanece disponible para cuentas creadas manualmente y recuperación.
|
|
|
|
## 3. Verificación y reparación
|
|
|
|
```powershell
|
|
.\Test-SguClientEnrollment.ps1 `
|
|
-RequireDomainJoined `
|
|
-RequireRemoteAccess `
|
|
-RequireBrokerHealth `
|
|
-Enforce
|
|
|
|
Get-ScheduledTask -TaskName SGU-CredentialProvider-EnrollmentGuard
|
|
Start-ScheduledTask -TaskName SGU-CredentialProvider-EnrollmentGuard
|
|
```
|
|
|
|
Un resultado válido exige simultáneamente binario y registro COM, configuración,
|
|
certificados, .NET 10, proveedor SGU predeterminado y proveedor de contraseña de
|
|
Microsoft preservado. El script de reparación se encuentra en
|
|
`C:\ProgramData\SGU\Enrollment` con ACL exclusiva para `SYSTEM` y
|
|
administradores.
|
|
|
|
## 4. Experiencia de LogonUI
|
|
|
|
El proveedor usa un mosaico genérico dedicado, no una credencial asociada al SID
|
|
anónimo de **Other user**. Windows puede mostrar ahora la imagen institucional y
|
|
la etiqueta `Universidad La Salle · Acceso SGU`, además del encabezado
|
|
`Acceso institucional SGU`. El orden visual exacto de los iconos de opciones lo
|
|
decide Windows; lo administrable y exigido es cuál aparece seleccionado por
|
|
defecto.
|
|
|
|
Referencias de Microsoft:
|
|
|
|
- <https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-admx-credentialproviders#defaultcredentialprovider>
|
|
- <https://learn.microsoft.com/en-us/windows/win32/api/credentialprovider/nf-credentialprovider-icredentialprovidercredential2-getusersid>
|