Al administrar los permisos de acceso de los usuarios a varios recursos en un dominio de Active Directory, es posible que un administrador tenga que crear grupos de usuarios de AD dinámicos. Los grupos dinámicos facilitan que un administrador otorgue permisos en servidores de archivos, carpetas compartidas, estaciones de trabajo, etc. Dicho grupo dinámico debe agregar usuarios al grupo o eliminarlos automáticamente según las propiedades de la cuenta de usuario en el dominio.

Por ejemplo, desea agregar automáticamente usuarios de la unidad organizativa específica al grupo de seguridad, o crear un grupo que incluya todas las cuentas de usuario del departamento específico (el campo Departamento en las propiedades de usuario de AD), etc.

El Active Directory local no tiene herramientas integradas para implementar grupos de seguridad dinámicos. Sin embargo, puede crear un script de PowerShell para seleccionar automáticamente usuarios de Active Directory según un criterio determinado y agregarlos a un grupo de seguridad de AD existente (puede asignar miembros de forma temporal) o eliminar las cuentas que ya no cumplen con los requisitos. Cuando se cambia cualquiera de los atributos de usuario de AD, la secuencia de comandos debe agregar o eliminar automáticamente un usuario del grupo.

Para usar grupos de AD dinámicos, debe mantener actualizados los campos relevantes de todas las cuentas de usuario del dominio (por ejemplo, al crear nuevos usuarios con el script de PowerShell, debe especificar inmediatamente la ciudad, el departamento, la empresa, etc. ).

  1. En Exchange Server hay Listas de distribución dinámica (grupos) que se completan automáticamente en función de algunos criterios de usuario, como el valor en el campo Compañía / Ciudad en AD, la unidad organizativa a la que pertenece un usuario, el servidor Exchange, en el que se encuentra un buzón, o cualquier otro atributo de usuario en Activo Directorio. Sin embargo, los grupos de distribución dinámicos se pueden utilizar para crear la distribución, pero no los grupos de seguridad;
  2. Hay grupos dinámicos integrados en Azure AD. En este directorio en la nube puede crear diferentes reglas de membresía dinámica en los grupos de seguridad o de Office 365.
  3. Parcialmente el Control de acceso dinámico (DAC) en Windows Server 2012 o posterior se puede utilizar para reemplazar algunas características de los grupos de seguridad dinámicos.

Supongamos que desea agregar automáticamente al grupo de seguridad existente todos los usuarios de varias unidades organizativas que tengan el valor 'Ventas'en el campo Departamento en las propiedades del usuario de AD. He escrito el siguiente script de PowerShell (para ejecutarlo, debe instalar el Active Directory para el módulo de Windows PowerShell; la Get-ADUser cmdlet se usa para obtener las propiedades del usuario y Add-ADGroupMember, Get-ADGroupMember y Remove-ADGroupMember son los cmdlets para administrar las pertenencias a grupos de AD).

## Your AD domain name
$ADDomain = 'dc=woshub,dc=com'
## Dynamic group name
$ADGroupname="EastSales"
## OU list to search users
$ADOUs = @(
"OU=Users,OU=NewYork,$ADDomain",
"OU=Users,OU=Chicago,$ADDomain"
)
$users = @()
# Searching users in the specified OUs
foreach($OU in $ADOUs){
$users += Get-ADUser -SearchBase $OU -Filter {Department -like "Sales"}
}
foreach($user in $users)
{
Add-ADGroupMember -Identity $ADGroupname -Members $user.samaccountname -ErrorAction SilentlyContinue
}
## Make sure that each user in the group meets the selection criteria. If not (moved to another OU, changed the Department field), they must be removed from the group
$members = Get-ADGroupMember -Identity $ADGroupname
foreach($member in $members)
{
if($member.distinguishedname -notlike "*OU=Users,OU=NewYork,$ADDomain*" -and $member.distinguishedname -notlike "*OU=Users,OU=Chicago,$ADDomain*")
{
Remove-ADGroupMember -Identity $ADGroupname -Members $member.samaccountname -Confirm:$false
}
if ((Get-ADUser -identity $member -properties Department|Select-Object Department).department -notlike "Sales" )
{
Remove-ADGroupMember -Identity $ADGroupname -Members $member.samaccountname -Confirm:$false
}
}


Ejecute el script y asegúrese de que todos los usuarios de las unidades organizativas especificadas con 'Ventas' en el campo Departamento se hayan agregado automáticamente al EastSales grupo. Los usuarios que no cumplen estos criterios se eliminan del grupo.

Debe ejecutar el script manualmente, pero es mejor ejecutarlo regularmente a través de una tarea separada en el Programador de tareas en la cuenta que tiene permisos para administrar usuarios y grupos en AD. (No se recomienda ejecutar el script en la cuenta de administrador del dominio, debe delegar los privilegios de administración de grupos de AD a un usuario / cuentas de administrador comunes o una cuenta de gMSA).

Puede utilizar este script de PowerShell como marco de sus propias reglas de creación de grupos de usuarios dinámicos en AD.

Recomendado para ti