Mostrando entradas con la etiqueta Directorio Activo. Mostrar todas las entradas
Mostrando entradas con la etiqueta Directorio Activo. Mostrar todas las entradas

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.

miércoles, 9 de octubre de 2019

Añadir listado de usuarios a grupo de Directorio Activo

Un va pequeño script (muy pequeño, realmente, apenas son 4 lineas) para agregar un listado de usuarios a un grupo de directorio activo.


Normalmente, con un simple copypaste de un excel al cuadro para agregar miembros al grupo valdria, pero cuando la cantidad de usuarios es masiva, la copia de miles de celdas no le sienta muy bien a la consola de AD, asi que mejor, con esta ejecucion de powershell:

Import-module ActiveDirectory $Fichero = Import-CSV "c:\ListadoUsuarios.csv" 
$Fichero.UserPrincipalName | ForEach-Object {        Add-ADGroupMember -Identity "nombredelgrupo" -Members $_
}
Solo eso. Desde Powershell ISE  pegamos estas lineas, que hacen lo siguiente:
En linea 1, importamos el modulo para trabajar con AD
Linea 2, Indicamos la ubicacion y nombre del fichero .csv con los usuarios.
Lineas 3 y 4, van agregando a los usuarios, uno por linea de excel.

Importante: El fichero .csv debe comenzar en la linea 1 con "UserPrincipalName", quedando asi:


No hay mas. Se puede hacer más complicado, se puede poner recuento de usuarios, pero, la verdad, en las pruebas hechas, no falla, asi que, ¿para qué complicarlo?