Improve SGU logon resilience and client UX
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
# Alta de un equipo Windows en el laboratorio LCI
|
||||
|
||||
Esta guía configura un Windows 10/11 Pro o Enterprise para el dominio, RDP con
|
||||
NLA y PowerShell Remoting. Está pensada para la red aislada del laboratorio; no
|
||||
abre estos servicios en el perfil de red pública.
|
||||
|
||||
## 1. Prerrequisitos
|
||||
|
||||
- Una cuenta con permiso para unir equipos al dominio.
|
||||
- DNS primario del adaptador apuntando al controlador de dominio
|
||||
`192.168.50.10`.
|
||||
- Conectividad con `lci.lasalle.mx` y hora sincronizada.
|
||||
- Windows Pro, Enterprise o Education para actuar como host RDP.
|
||||
|
||||
```powershell
|
||||
Get-NetAdapter
|
||||
Set-DnsClientServerAddress -InterfaceAlias 'Ethernet' `
|
||||
-ServerAddresses 192.168.50.10
|
||||
Resolve-DnsName -Type SRV _ldap._tcp.dc._msdcs.lci.lasalle.mx
|
||||
```
|
||||
|
||||
## 2. Unir el equipo al dominio
|
||||
|
||||
Abrir Windows PowerShell como administrador. El prompt solicita la contraseña
|
||||
de forma interactiva y evita ponerla en el historial:
|
||||
|
||||
```powershell
|
||||
$domainCredential = Get-Credential -UserName 'LCI\Administrator'
|
||||
Add-Computer `
|
||||
-DomainName 'lci.lasalle.mx' `
|
||||
-Credential $domainCredential `
|
||||
-Restart
|
||||
```
|
||||
|
||||
Después del reinicio:
|
||||
|
||||
```powershell
|
||||
(Get-CimInstance Win32_ComputerSystem) |
|
||||
Select-Object Name, Domain, PartOfDomain
|
||||
```
|
||||
|
||||
## 3. Habilitar acceso remoto
|
||||
|
||||
El grupo de dominio `LCI\SG-Laboratorio-Usuarios-RDP` es el único principal de
|
||||
usuarios SGU agregado al grupo local **Remote Desktop Users**. El broker agrega
|
||||
automáticamente a ese grupo cada cuenta que sincroniza; no concede permisos de
|
||||
administrador.
|
||||
|
||||
Copiar `scripts\Enable-LabRemoteAccess.ps1` al equipo y ejecutar. El bypass se
|
||||
limita a este proceso y no cambia la directiva persistente del equipo:
|
||||
|
||||
```powershell
|
||||
powershell.exe -NoProfile -ExecutionPolicy Bypass `
|
||||
-File .\Enable-LabRemoteAccess.ps1 `
|
||||
-RemoteDesktopPrincipal 'LCI\SG-Laboratorio-Usuarios-RDP' `
|
||||
-EnableAdministrativeFirewallGroups
|
||||
```
|
||||
|
||||
El script realiza de forma idempotente lo siguiente:
|
||||
|
||||
- habilita RDP y conserva Network Level Authentication;
|
||||
- habilita las reglas RDP solo para el perfil Domain;
|
||||
- autoriza el grupo SGU dedicado;
|
||||
- habilita Windows PowerShell Remoting/WinRM;
|
||||
- opcionalmente habilita administración remota de servicios, eventos y WMI,
|
||||
también limitada al perfil Domain.
|
||||
|
||||
PowerShell Direct de Hyper-V no requiere abrir puertos en la VM y sigue siendo
|
||||
la opción preferida para recuperación administrativa.
|
||||
|
||||
## 4. Instalar el Credential Provider
|
||||
|
||||
```powershell
|
||||
powershell.exe -NoProfile -ExecutionPolicy Bypass `
|
||||
-File .\Install-CredentialProvider.ps1 `
|
||||
-PublishPath C:\SGUDeploy\credential-provider `
|
||||
-BrokerEndpoint https://sgu-auth.lci.lasalle.mx:8443/v1/authenticate `
|
||||
-ClientCertificateThumbprint CLIENT_CERT_THUMBPRINT `
|
||||
-ServerCertificateThumbprint SERVER_CERT_THUMBPRINT `
|
||||
-TimeoutSeconds 20
|
||||
```
|
||||
|
||||
Los binarios se guardan en un subdirectorio `versions` identificado por su
|
||||
contenido. De esta forma se puede preparar una actualización aunque
|
||||
`LogonUI.exe` todavía tenga cargada la DLL anterior; el reinicio obligatorio
|
||||
activa la nueva versión.
|
||||
|
||||
Bloquear el equipo, abrir **Sign-in options** y elegir el icono azul con llave
|
||||
del acceso SGU. El proveedor de contraseña de Microsoft debe permanecer visible.
|
||||
|
||||
## 5. Verificación
|
||||
|
||||
```powershell
|
||||
Get-Service TermService, WinRM
|
||||
Get-LocalGroupMember -Group 'Remote Desktop Users'
|
||||
Test-WSMan localhost
|
||||
Test-NetConnection sgu-auth.lci.lasalle.mx -Port 8443
|
||||
```
|
||||
|
||||
Desde otro equipo administrador:
|
||||
|
||||
```powershell
|
||||
Test-WSMan NOMBRE-DEL-EQUIPO
|
||||
Enter-PSSession -ComputerName NOMBRE-DEL-EQUIPO -Credential LCI\Administrator
|
||||
mstsc.exe /v:NOMBRE-DEL-EQUIPO
|
||||
```
|
||||
|
||||
El mensaje “the user has not been granted the requested logon type” con evento
|
||||
4625, `LogonType=10` y estado `0xC000015B` indica autorización RDP, no una
|
||||
contraseña incorrecta. Comprobar que la cuenta pertenece a
|
||||
`SG-Laboratorio-Usuarios-RDP` y que ese grupo aparece en **Remote Desktop Users**.
|
||||
Las directivas de grupo de dominio prevalecen sobre la política local.
|
||||
|
||||
Microsoft documenta este derecho en:
|
||||
<https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-userrights#allowlogonthroughremotedesktop>
|
||||
y PowerShell Remoting en:
|
||||
<https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/enable-psremoting>.
|
||||
Reference in New Issue
Block a user