Usando el módulo ActiveDirectory PowerShell, puedes consultar grupos de AD con Get-AdGroup, agregar, actualizar y eliminar grupos y miembros de grupos. En esta publicación de blog, aprenderás un poco sobre los cmdlets de PowerShell para grupos de Active Directory con un montón de ejemplos como referencia.
Cmdlets de Grupos de Active Directory
Una vez que instalas el módulo ActiveDirectory PowerShell, encontrarás algunos cmdlets disponibles para gestionar grupos.
Cmdlet Name | Description |
Add-ADGroupMember | Used to add members to an AD group. |
Add-ADPrincipalGroupMembership | Used to add an AD principal to AD groups. |
Get-ADGroup | Used to return a group or groups from AD. |
Get-ADGroupMember | Used to return the members of an AD group. |
Get-ADPrincipalGroupMembership | Used to get the groups an AD principal is a member of. |
New-ADGroup | Used to create a new AD group. |
Remove-ADGroup | Used to delete an AD group. |
Remove-ADGroupMember | Used to remove members from an AD group. |
Remove-ADPrincipalGroupMembership | Used to remove an AD principal from AD groups. |
Set-ADGroup | Used to set the properties of an AD group. |
Utilizando estos cmdlets y un poco de PowerShell kung-fu, puedes gestionar cada aspecto del grupo de Active Directory con PowerShell.
Encuentra los miembros de un grupo con Get-ADGroupMember
El cmdlet Get-AdGroupMember
devuelve todos los miembros de un grupo.
Alternativamente, podrías hacer referencia a la propiedad memberOf
en un usuario en particular usando el cmdlet Get-Aduser
. Para repasar cómo construir filtros, revisa Aprendiendo Filtros de Directorio Activo y LDAP en PowerShell.
Aquí tienes dos ejemplos.
Esto devuelve una colección de objetos ADPrincipal.
Exporta los miembros de un grupo a un archivo CSV.
Esto exporta el nombre, apellido y dirección de correo electrónico de cada usuario. Pasa los resultados de Get-ADGroupMember
a Get-ADUser
porque estos son objetos ADPrincipal que no tienen todas las propiedades que tienen los objetos ADUser.
Observa el uso del parámetro
NoTypeInformation
deExport-CSV
para garantizar que el archivo CSV sea compatible con otras aplicaciones.
Encuentra grupos sin miembros con Get-ADGroup
Utiliza Get-AdGroup
para encontrar grupos mediante filtros. Dos ejemplos a continuación.
Crea un nuevo grupo de seguridad con New-ADGroup
Crear un nuevo grupo de seguridad utilizando el comando New-AdGroup
.
Si no se suministra un parámetro Path
, el nuevo grupo se creará en el contenedor Usuarios. El ámbito del grupo debe ser DomainLocal
, Global
o Universal
.
Crea un nuevo grupo de distribución con New-ADGroup
Utiliza New-AdGroup
nuevamente para crear un grupo de distribución. Esta vez, elige una GroupCategory
de Distribution
.
Agrega miembros a un grupo con Add-ADGroupMember
La adición de usuarios a un grupo de Active Directory con PowerShell se puede hacer utilizando el cmdlet Add-AdGroupMember
o el cmdlet Add-ADPrincipalGroupMembership
.
Este comando especifica el grupo como la Identidad.
Este comando especifica el principal de AD como la Identidad.
Escribe en la propiedad Notes
de un grupo con Set-AdGroup
El campo etiquetado como Notes en ADUC está representado por la propiedad Info
devuelta por Get-AdGroup
.
Primero, encuentra el grupo a cambiar, establece la propiedad Info
y luego utiliza Set-AdGroup
para confirmar el cambio en AD.
Elimina miembros del grupo con Remove-ADGroupMember
Como todos los cmdlets de PowerShell, puedes usar el parámetro Confirm
para que te pidan confirmación antes de realizar un cambio. Este comportamiento también se aplica a los cmdlets Remove-AdGroupMember
y Remove-ADPrincipalGroupMembership
.
A continuación, puedes eliminar miembros del grupo sin confirmación.
O puedes optar por eliminar miembros del grupo con confirmación usando el parámetro Confirm
.
Elimina un grupo con Remove-ADGroup
Elimina un grupo sin confirmación y con confirmación.
Cambia el nombre de un grupo con Rename-ADObject
Puedes cambiar el nombre de un grupo mediante un comando usando Rename-ADObject
.
Obtén el número de grupos con Get-ADGroup
¿Necesitas encontrar el número total de grupos devueltos por Get-AdGroup
? Utiliza la propiedad Count
.
Encuentra grupos con un gerente con Get-ADGroup
Filtra todos los grupos que tienen un gerente asignado con Get-AdGroup
y un filtro LDAP bien construido.
No hay un filtro equivalente de PowerShell para esto.
Encuentra grupos gestionados por un usuario específico con Get-ADGroup
Mejora tus habilidades de filtrado y encuentra todos los grupos gestionados por un usuario específico utilizando un filtro de PowerShell o un filtro LDAP.
Establece el manager del grupo con Set-ADGroup
La pestaña Managed By en ADUC para grupos te permite designar a alguien responsable de la membresía del grupo. Esto no significa automáticamente que el manager pueda alterar la membresía del grupo. Para que esto sea posible, se deben cambiar los permisos de seguridad en la propiedad Member del grupo en cuestión.
Marcar la casilla Manager can update membership list para un grupo en Active Directory Users and Computers (ADUC) cambia los permisos para permitir esto.

Usa Set-ADGroup
para establecer el atributo ManagedBy:
Actualizar la lista de control de acceso requiere algunos pasos adicionales. El siguiente fragmento de código otorga al usuario Kristin Diaz la capacidad de gestionar la membresía del grupo. bf9679c0-0de6-11d0-a285-00aa003049e2 es el GUID para la propiedad Member
del grupo.
Si Kristin también está configurada como manager del grupo, la casilla estará marcada. Si no, Kristin seguirá pudiendo gestionar la membresía del grupo pero no se mostrará en ADUC como el manager.
Encuentra contraseñas filtradas y no seguras en tu Active Directory verificando en la lista de contraseñas del NCSC.
Encuentra todos los grupos de seguridad
Enumera todos los grupos de seguridad en Active Directory con PowerShell al limitar tu búsqueda solo a grupos de seguridad con estos dos ejemplos. ¿Cuál es ese filtro LDAP, preguntas? Aprende todo sobre filtros LDAP.
Encuentra grupos de distribución
Usa PowerShell para listar Grupos de Active Directory (distribución) excluyendo grupos de seguridad con estos dos ejemplos.
Encuentra la membresía de un usuario en un grupo con Get-ADPrincipalGroupMembership
Ten en cuenta que este comando requiere acceso a un catálogo global.
Encuentra grupos en una OU, sin incluir sub-OUs
Sé más específico utilizando el parámetro SearchBase
para limitar tu búsqueda a una sola OU con estos dos ejemplos.
Encuentra grupos en una OU, incluyendo sub-OUs
¿Necesitas encontrar todos los grupos en OUs secundarias? Usa un SearchScope
de SubTree
.
Resumen
Eso concluye nuestra demostración guiada por ejemplos sobre la gestión de grupos de AD con PowerShell. ¡Toma algunos de estos, pruébalos en tu organización y comienza a automatizar!