Files
SGU-CredentialProvider/docs/client-enrollment.md
T

4.1 KiB

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.exe -NoProfile -ExecutionPolicy Bypass `
  -File .\New-LabCertificate.ps1 `
  -Role CredentialProviderClient

Copiar únicamente el .cer público al broker y registrarlo:

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.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

.\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: