jueves, 9 de enero de 2020

Solventar limite de conexion de usuarios a 64 equipos

Es común encontrarse en la situación de tener que generar cuentas de usuario que deben tener restringido el acceso a unos equipos concretos, al margen de sus permisos. Ya sabes, para limitar los equipos sobre los que un usuario puede iniciar sesión, en su objeto de AD vamos a la pestaña Cuenta, y en "iniciar sesión en" se indica los equipos sobre los que puede iniciar la sesión el usuario.

Puede suceder que el usuario requiera iniciar sesión en más de 64 equipos. Y es aquí cuando aparece el problema, al intentar agregar una máquina mas, superando ese límite, que aparece el siguiente mensaje:


Esto es una limitación de esquema de Directorio Activo, que puede ser modificada con el ADSI Edit o Powershell, siempre que seas admin de esquema. Por ejemplo, así:
$Attr = [ADSI]"LDAP://cn=User-Workstations,cn=Schema,cn=Configuration,dc=MyDomain,dc=com"
$Attr.rangeUpper = 2048
$Attr.SetInfo()
Tienes más Info AQUI. y AQUI.

La GUI de ADUC asume 16 caracteres por nombre de NetBIOS, independientemente de los que tenga en realidad los nombres de equipos. Pero esto no se aplica si actualizas el atributo en el código. Aún así, incluso con 16 caracteres por nombre, según los technets de Microsoft, no debe superar los 8192.

Una vez realizado este cambio, se pueden agregar más máquinas vía comando powershell a la cuenta de usuario, sobrepasando ese límite de 64 equipos (la interfaz gráfica seguirá marcando la limitación).

El comando powershell a utilizar para agregar más equipos es el siguiente:
$variable = (Get-ADUser -Identity USER -Properties *).userWorkstations
$newvariaBLE ="EQUIPONUEVO,$VARIABLE"
Set-ADUser -Identity USER -LogonWorkstations $newvariaBLE 
Reemplazar "USER" por el nombre de usuario, y "EQUIPONUEVO" por el nombre del equipo a agregar.

También es conveniente utilizar el siguiente comando,

$variable = (Get-ADUser -Identity user -Properties *).userWorkstations
seguidamente de:

  write-host $variable     
Esto te mostrará los equipos a los que el usuario que has metido en la variable tiene acceso. Es muy conveniente para comprobar que el comando ha funcionado correctamente.

No hay comentarios:

Publicar un comentario

¡Gracias por colaborar en este blog con tus comentarios! :)