Búsqueda de sitios web

Cómo permitir o denegar inicios de sesión en estaciones de trabajo para usuarios de AD


De manera predeterminada, cuando crea nuevos usuarios de Active Directory, se agregan automáticamente al grupo Usuarios de dominio. A su vez, el grupo Usuarios del dominio se agrega al grupo Usuarios local en una estación de trabajo del dominio cuando se une al dominio AD. Esto significa que cualquier usuario del dominio puede iniciar sesión en cualquier equipo del dominio. En este artículo, veremos cómo permitir o denegar el inicio de sesión de los usuarios en las computadoras del dominio.

Permitir que un usuario inicie sesión solo en computadoras AD específicas

Puede especificar una lista de equipos en los que un usuario puede iniciar sesión localmente en las propiedades (atributos) de una cuenta de usuario de Active Directory. Por ejemplo, desea permitir que un usuario específico inicie sesión solo en sus propias computadoras. Para hacerlo:

  1. Abra el complemento ADUC (Usuarios y equipos de Active Directory) ejecutando el

    dsa.msc

    dominio;

  2. Use la búsqueda de AD para encontrar la cuenta de usuario que desea restringir y abra sus propiedades;

  3. Vaya a la pestaña Cuenta y haga clic en el botón "Iniciar sesión en" ;

  4. Como puede ver, el usuario puede iniciar sesión en todas las computadoras del dominio (El usuario puede iniciar sesión en: Todas las computadoras). Para permitir que un usuario se autentique solo en computadoras específicas, seleccione la opción Las siguientes computadoras y agregue los nombres de las computadoras en las que un usuario puede iniciar sesión;

    Nota. Debe especificar el nombre completo de la computadora NetBIOS o DNS (no puede usar comodines). El valor no distingue entre mayúsculas y minúsculas.

  5. Puede agregar hasta 64 computadoras a esta lista. Si intenta agregar una computadora número 65th, aparece el siguiente mensaje de error:

    This proper
    ty is limited to 64 values. You must remove some of the existing values before you can add new ones

    ;

  6. Guarde los cambios. Ahora el usuario puede iniciar sesión solo en las computadoras especificadas.

Puede usar el complemento Centro de administración de Active Directory (

dsac.msc

) o PowerShell para agregar más de 65 dispositivos informáticos a esta lista. Sin embargo, el valor máximo está limitado por el tipo de datos del atributo Estación de trabajo de inicio de sesión en el esquema de Active Directory (Cadena de octetos). En Windows Server 2016+, este atributo puede contener hasta 8192 caracteres (las versiones anteriores de Windows Server 2003-2012 usaban un límite de 1024 caracteres).

Otro problema interesante ocurre si restringe la lista de computadoras del usuario a las que se les permite iniciar sesión usando el atributo LogonWorkstation. Cuando intenta conectarse a una computadora remota (o granja RDS) a través de RDP, puede obtener un error:

The system administrator has limited the computers you can log on with.

Para resolver este problema, debe agregar el nombre de la computadora desde la cual (!!!) se realiza el inicio de sesión RDP a la lista LogonWorkstation.

¿Cómo establecer el atributo User LogonWorkstations con PowerShell?

Es bastante tedioso agregar dispositivos manualmente a la lista de computadoras que pueden iniciar sesión en las propiedades de cada usuario (no se admiten comodines). Puede automatizar esta tarea con PowerShell. La lista de computadoras a las que un usuario puede iniciar sesión se almacena en el atributo de usuario de AD "Estaciones de trabajo de inicio de sesión". Por ejemplo, nuestra tarea es permitir que un usuario específico inicie sesión solo en las computadoras, cuyos nombres se enumeran en el archivo de texto computadoras.csv (en este ejemplo, la primera línea del archivo debe contener el nombre de la columna: NetBIOSName).

El guión puede verse así:

Import-Module ActiveDirectory
$ADusername = ‘asmith’
$complist = Import-Csv -Path "C:\PS\computers.csv" | ForEach-Object {$_.NetBIOSName}
$comparray = $complist -join ","
Set-ADUser -Identity $ADusername -LogonWorkstations $comparray
Clear-Variable comparray

El cmdlet Set-ADUser se usa para cambiar los atributos de un usuario de Active Directory.

Con el cmdlet Get-ADUser, puede mostrar una lista de equipos en los que un usuario puede iniciar sesión.

Get-ADUser $ADusername -Properties LogonWorkstations | Format-List Name, LogonWorkstations

O puede ver la lista de computadoras en la consola ADUC.

Para agregar un nuevo nombre de computadora a la lista, use este comando:

$Wks = (Get-ADUser asmith-Properties LogonWorkstations).LogonWorkstations
$Wks += ",man-b2-wks2"
Set-ADUser asmith -LogonWorkstations $Wks

Configuración de horas de inicio de sesión para usuarios de Active Directory

Puede restringir el tiempo de inicio de sesión del usuario en las propiedades de la cuenta de usuario. Por ejemplo, puede permitir que un usuario inicie sesión en los equipos del dominio solo durante el horario laboral de 8:00 a. m. a 7:00 p. m.

  1. Abra las propiedades del usuario en el complemento ADUC, vaya a la pestaña Cuenta y haga clic en el botón Horario de inicio de sesión;

  2. De forma predeterminada, las horas de inicio de sesión de los usuarios no están restringidas (todo está resaltado en azul);

  3. Resalte los intervalos de tiempo en los que desea evitar que el usuario inicie sesión y haga clic en el botón Inicio de sesión denegado (el color de las horas de inicio de sesión en las que los usuarios no pueden iniciar sesión cambiará a blanco).

Si necesita aplicar las mismas restricciones de Horas de inicio de sesión a varios usuarios, la forma más fácil es usar PowerShell. Primero, configure manualmente las restricciones para un usuario y luego use el valor de su atributo LogonHours como plantilla para otros usuarios. Por ejemplo, desea restringir las horas de inicio de sesión para un grupo de usuarios de VPN:

$template_user='k.muller'
$template_hours= Get-ADUser -Identity $template_user -properties logonHours
Get-ADGroupmember "mun-VPNUsers" |foreach {Set-ADUSer $_.samaccountname -Replace @{logonHours = $template_hours.logonHours} }

Si un usuario intenta iniciar sesión en la computadora fuera de las horas permitidas, recibirá un error:

Account restrictions are preventing this user from signing in. For example: blank passwords aren't allowed, sign-in times are limited, or a policy restriction has been enforced.

No hay una funcionalidad integrada en Windows para obligar a un usuario a cerrar la sesión cuando expiraron las horas de inicio de sesión. Puede crear una tarea de programador simple e implementarla a través de un GPO para ejecutar un

logoff

dominio.

También tenga en cuenta las dos opciones de GPO en Configuraciones de la computadora -> Políticas -> Configuración de Windows -> Configuración de seguridad -> Políticas locales -> Opciones de seguridad.

  • Seguridad de la red: forzar el cierre de sesión cuando expiren las horas de inicio de sesión

  • Servidor de red de Microsoft: desconecte los clientes cuando expiren las horas de inicio de sesión

Cuando esta configuración de directiva de grupo está habilitada, los servidores SMB desconectarán a los usuarios cuyas horas de trabajo hayan expirado.

¿Cómo denegar o permitir inicios de sesión en estaciones de trabajo con directivas de grupo?

En dominios grandes, usar el atributo de usuario LogonWorkstations para restringir el acceso de los usuarios a las computadoras es inconveniente debido a las limitaciones y la falta de flexibilidad. Puede usar la directiva de grupo para implementar una forma más flexible de permitir o denegar los inicios de sesión locales.

Puede restringir la lista de usuarios en el grupo local Usuarios usando la política de Grupos restringidos (vea el ejemplo del uso de las opciones de Grupos restringidos desde la sección Configuración de Windows -> Configuración de seguridad GPO para agregar usuarios al grupo Administradores local). Pero consideraremos otra opción.

Hay dos opciones de Política de grupo ubicadas en la sección GPO Configuración de la computadora -> Políticas -> Configuración de seguridad -> Políticas locales -> Asignación de derechos de usuario:

  • Denegar inicio de sesión local: permite desactivar el inicio de sesión local en equipos para usuarios o grupos específicos;

  • Permitir iniciar sesión localmente: contiene una lista de usuarios que pueden iniciar sesión en una computadora localmente.

Por ejemplo, para evitar que los usuarios de un grupo de seguridad inicien sesión en equipos de la unidad organizativa (OU) específica de Active Directory, puede crear un grupo de usuarios separado, agregarlo a la directiva Denegar inicio de sesión local y vincular el GPO a la OU que contiene los equipos a los que desea restringir el inicio de sesión.

En grandes dominios de Active Directory, puede usar una combinación de estas políticas. Por ejemplo, desea evitar que los usuarios inicien sesión en equipos de otras unidades organizativas. Para hacerlo, cree un grupo de seguridad en cada unidad organizativa y agréguele todos los usuarios de la unidad organizativa.

Consejo. Puede agregar automáticamente usuarios de una unidad organizativa específica a su grupo de seguridad mediante los cmdlets de PowerShell Get-ADUser y Add-ADGroupMember. Utilice el siguiente script de PowerShell:

Import-module ActiveDirectory
$rootOU = “OU=Users,OU=UK,DC=corp,DC=a-d,DC=com”
$group = “corp\lon-users”
Get-ADUser -SearchBase $rootOu -Filter * | ForEach-Object {Add-ADGroupMember -Identity $group -Members $_ }

Luego habilite la opción de política de grupo "Permitir inicio de sesión local", agréguele este grupo (así como diferentes grupos de administradores: administradores de dominio, administradores de estaciones de trabajo, etc.) y vincule la política a la unidad organizativa con las computadoras. Por lo tanto, permitirá que solo los usuarios de OU específicos inicien sesión en las computadoras.

Si un usuario de una unidad organizativa diferente (que no puede iniciar sesión localmente) intenta iniciar sesión en la computadora, aparecerá una ventana con el siguiente mensaje:

Actualice la configuración de la directiva de grupo en los equipos cliente. Si un usuario no puede iniciar sesión localmente, aparecerá un mensaje de error:

You cannot log on because the logon method you are using is not allowed on this computer.  Please see your network administrator for more information.

O :

The sign-in method you are trying to use isn’t allowed. For more info, contact your network administrator.

Aquí hay algunas notas importantes sobre las políticas de restricción de inicio de sesión:

  • No aplique estas políticas para restringir el acceso a los servidores o controladores de dominio de AD;

    Cómo permitir que los usuarios que no son administradores accedan a los controladores de dominio a través de RDP.

  • No habilite estas Políticas de grupo a través de GPO integrados: Política de dominio predeterminada o Política de controladores de dominio predeterminados;

  • Una política de denegación tiene prioridad;

  • No se olvide de las cuentas de servicio (incluido gMSA), que se pueden usar para ejecutar servicios en computadoras (servidores);

  • No aplique GPO que restrinjan el inicio de sesión local a todo el dominio. Enlácelos solo a las unidades organizativas específicas;

  • Los usuarios podrán conectarse a las computadoras mediante sesiones RDP interactivas, incluso si la política de denegación de inicio de sesión local está habilitada. Para hacer esto, el protocolo RDP debe estar habilitado en la computadora y la cuenta de usuario debe ser miembro del grupo Usuarios de escritorio remoto.

Artículos relacionados