Cómo agregar y eliminar grupos y objetos de AD en grupos con PowerShell
Microsoft Active Directory sirve como punto centralizado para la administración, autorización y autenticación. En AD, el acceso a los recursos de la red se otorga a los principales de seguridad, como cuentas de usuario y cuentas de computadora, y esos permisos pueden cambiar con el tiempo. Para simplificar la gestión del acceso y mejorar la seguridad, las empresas medianas y grandes suelen utilizar grupos de seguridad de Active Directory, que pueden contener cuentas de usuario, cuentas de computadora y otros grupos. A menudo también utilizan grupos de distribución para gestionar listas de distribución de correo electrónico. Tanto los grupos de seguridad como los de distribución tienen identificadores de seguridad únicos (SID) e identificadores únicos globalmente (GUID).
El complemento ADUC MMC es excelente para administrar ambos tipos de grupos, pero PowerShell es una forma mucho más eficiente de administrarlos de forma masiva.
Si aún no está familiarizado con los grupos AD y la administración de grupos, lea la guía de mejores prácticas de administración de grupos de Active Directory antes de continuar.
Además, tenga en cuenta que para utilizar estos scripts de PowerShell, debe importar el módulo para interactuar con AD: el módulo Active Directory para Microsoft Windows PowerShell. Este módulo se introdujo en Windows Server 2008 R2 y está habilitado de forma predeterminada en Windows Server 2012 y versiones posteriores. Puede obtener la lista completa de cmdlets del módulo AD ejecutando el siguiente comando:
Get-Command -Module ActiveDirectoryLa lista completa contiene 147 cmdlets; sin embargo, sólo estos once están relacionados con grupos de Active Directory:
- Agregar miembro de grupo AD
- Agregar membresía de grupo ADPrincipal
- Get-ADAccountAuthorizationGroup
- Obtener-ADGroup
- Obtener-ADGroupMember
- Obtener-ADPrincipalGroupMembership
- Nuevo grupo AD
- Eliminar-ADGroup
- Eliminar-ADGroupMember
- Eliminar-ADPrincipalGroupMembership
- Conjunto-ADGroup
Crear un grupo de Active Directory con PowerShell
Para crear un grupo de AD, utilice el cmdlet New-ADGroup. Puede obtener su sintaxis ejecutando el siguiente comando:
Get-Command New-ADGroup –SyntaxLa forma más sencilla de crear un grupo es ejecutar este breve script:
New-ADGroup "Group Name"El sistema le pedirá que especifique el parámetro "GroupScope" y luego creará un nuevo grupo. Sin embargo, este grupo tendrá valores predeterminados, como:
- Se creará en el contenedor LDAP predeterminado llamado "Usuarios".
- Tendrá el tipo de grupo “Seguridad”.
- Los campos miembros, miembro de, descripción, correo electrónico y notas estarán en blanco.
Imaginemos que queremos crear un grupo de seguridad llamado "Calidad" en nuestro AD DC. Usemos los siguientes parámetros: Debe estar en la unidad organizativa "Producción" (-Path), debe ser un grupo de seguridad (-GroupCategory) y debe ser global. (-GroupScope).
New-ADGroup "Quality" -Path "OU=Production,DC=enterprise,dc=com" -GroupCategory Security -GroupScope Global -PassThru –VerboseSi desea crear un grupo de distribución universal, simplemente cambie el parámetro -GroupCategory a "Distribución" y el parámetro -GroupScope a "Universal". También puede cambiar la ruta LDAP cambiando el parámetro -Path .
Eliminar un grupo de Active Directory con PowerShell
Para eliminar un grupo de AD, utilice el cmdlet Remove-ADGroup. El script más sencillo para esto se verá así:
Remove-ADGroup -Identity QualitySe le pedirá que confirme la eliminación del grupo.
Agregar usuarios y computadoras a un grupo con PowerShell
Puede agregar usuarios a un grupo de AD con el cmdlet Add-AdGroupMember. Por ejemplo, si necesitara agregar dos usuarios, B.Jackson y E.Franklin, al grupo "Calidad", así es como se vería el script:
Add-AdGroupMember -Identity Quality -Members B.Jackson, E.FranklinUna vez que haya agregado usuarios a un grupo de seguridad, puede ejecutar el siguiente script para verificar que figuren como miembros:
Get-ADGroupMember -Identity QualitySi necesita agregar usuarios a otro grupo de seguridad o distribución, como "Administradores de dominio", especifique "Administradores de dominio" como valor para el parámetro -Identidad. Si necesita que un grupo sea miembro de otro, especifique un nombre de grupo como valor para el parámetro -Members. El mismo principio se aplica a las cuentas de computadora, pero deberás agregar un signo de dólar ($) al final del nombre de la cuenta de computadora. Por ejemplo, para agregar la computadora “WKS043” a un grupo, especifique “WKS043$” como valor para el parámetro -Member:
Add-AdGroupMember -Identity Quality -Members WKS043$Agregar un usuario a varios grupos
Para agregar un usuario a varios grupos a la vez, ejecute el siguiente script.
"Managers","Quality" | Add-ADGroupMember -Members `
(Read-Host -Prompt "Enter User Name")Se le pedirá que ingrese el nombre de usuario.
Agregar usuarios a un grupo desde un archivo CSV
Si desea agregar una gran cantidad de usuarios a un grupo, puede especificarlos en un archivo CSV y luego importar ese archivo. Tenga en cuenta que la lista de nombres de usuario en el archivo CSV debe contener SamAccountNames en la columna "usuarios", como se muestra a continuación:
Para agregar usuarios al grupo desde un archivo CSV, ejecute el siguiente script de PowerShell:
Import-CSV C:scriptsusers.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity "Quality" -members $_.users}Copiar usuarios de un grupo a otro
Si desea copiar todos los miembros de un grupo a otro grupo, ejecute el siguiente script:
Get-ADGroupMember “Quality” | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “QualityControl” -Members $_}Eliminar usuarios o computadoras de un grupo
Para eliminar a un usuario de un grupo, utilice el cmdlet Remove-ADGroupMember:
Remove-ADGroupMember -Identity Quality -Members J.RobinsonPara eliminar una cuenta de computadora de un grupo, especifique el nombre de la computadora con un signo de dólar ($) al final para el valor del parámetro -Members.
Eliminar varias cuentas de usuario de un grupo
Una manera fácil de eliminar varios usuarios de un grupo AD es crear un archivo CSV con la lista de nombres de usuario y luego eliminar esos usuarios del objeto del grupo usando este script:
Import-CSV C:scriptsusers.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity "Quality" -members $_.users}Eliminar un usuario de todos los grupos
Para eliminar un usuario de todos los grupos, ejecute este script:
Get-ADUser -Identity E.Franklin -Properties MemberOf | ForEach-Object {
$_.MemberOf | Remove-ADGroupMember -Members $_.DistinguishedName -Confirm:$false
}Tenga en cuenta que el usuario perderá toda la membresía del grupo excepto los "Usuarios del dominio", que se pueden eliminar manualmente si es necesario.
Informes sobre grupos de Active Directory
Ahora que sabemos cómo realizar muchas tareas comunes de administración de Active Directory relacionadas con grupos que usan PowerShell, veamos cómo informar sobre qué grupos existen en AD:
Para enumerar todos los grupos en AD, utilice el siguiente script:
Get-ADGroup -filter * -properties GroupCategory | ft name,groupcategoryPor supuesto, también querrás revisar los miembros del grupo AD y los cambios en la membresía del grupo AD. Aquí hay enlaces a instrucciones para realizar esas tareas más complejas:
- Cómo monitorear los cambios en la membresía del grupo de Active Directory
- Cómo obtener informes de membresía de grupos de usuarios de AD
- Cómo exportar miembros de un grupo AD particular
- Administrar unidades organizativas y mover sus objetos con PowerShell
Conclusión
Ahora que ha aprendido cómo administrar grupos y la membresía de grupos en Active Directory usando scripts de PowerShell, intente realizar algunas de las tareas de administración de grupos usted mismo. Sin embargo, tenga cuidado y no olvide habilitar la función Papelera de reciclaje de Active Directory para poder revertir fácilmente los cambios si algo sale mal. Recuerde, el complemento ADUC MMC es excelente para administrar grupos y membresías de grupos, pero PowerShell es mucho mejor para administrar grupos de forma masiva.








