Administrar cuentas de grupo del dominio desde la línea de comandos de Windows Server 2016
Hace unos días, aprendimos a Administrar cuentas de grupo en un dominio de Windows Server 2016 desde la interfaz gráfica en un par de artículos (Parte I y Parte II). Pero, como ya sabemos, en los servidores que no disponen de interfaz gráfica, es muy común que tengamos que recurrir a cmdlets de PowerShell para realizar la misma tarea.
Como hemos hecho con otros objetos del dominio, hoy aprenderemos a resolver las tareas básicas de administración de cuentas de grupo desde la línea de comandos. En particular, nos centraremos en las siguientes situaciones:
-
Crear una nueva cuenta de grupo.
-
Obtener toda la información relacionada con una cuenta de grupo
-
Modificar valores en las cuentas de los grupos
-
Añadir miembros a un grupo. Un caso particular será convertir a un grupo en miembro de otro grupo.
-
Obtener los miembros de un grupo
-
Eliminar miembros de un grupo. También en este caso aprenderemos a que un grupo deje de ser miembro de otro grupo.
-
Eliminar grupos
Como ya hemos comentado en otros artículos, aunque el contenido de hoy lo centraremos en Windows Server 2016 sin interfaz gráfica, todo lo que expliquemos será completamente válido en un sistema con escritorio. Y, aunque parezca un poco extraño para los administradores más noveles, cuando vamos a crear una gran cantidad de cuentas de grupo, suele ser más rápido utilizar la línea de comandos.
Incluso podremos automatizarlo usando scripts, de un modo parecido a como aprendimos a hacer con las cuentas de usuario (Automatizar la creación de usuarios del dominio en Windows Server 2016 con un archivo csv).
En este caso, puedes abrir fácilmente la ventana de terminal usando la combinación de teclas Windows + R y, escribiendo el siguiente comando en la ventana que aparece:
cmd
Como hemos dicho más arriba, realizaremos todo el trabajo de hoy utilizando cmdlets de PowerShell. Por lo tanto, lo primero que haremos será ejecutar el propio PowerShell.
A partir de aquí, comenzaremos a aplicar las diferentes ordenes…
Crear una cuenta de grupo
Para crear una nueva cuenta de grupo, utilizaremos el cmdlet New-ADGroup. Como en el resto de objetos del dominio que hemos estudiado en otros artículos de SomeBooks.es, el número de argumentos que reconoce New-ADGroup es considerable. No obstante, podemos crear una nueva cuenta de grupo con una sintaxis bastante sencilla:
New-ADGroup Profesores -Path "CN=Users,DC=somebooks,DC=local" -GroupScope Global -GroupCategory Security
Como puedes imaginar, Profesores será el nombre del nuevo grupo. En cuanto a los otros argumentos que hemos utilizado, son estos:
-
-Path: Indica la ruta, dentro de la estructura del directorio, del contenedor donde se creará el nuevo objeto.
-
-GroupScope: Define el alcance del grupo. Podremos elegir entre DomainLocal, Global y Universal.
-
-GroupCategory: Establece la categoría del grupo. Elegiremos entre Distribution y Security.
En cualquier caso, también puedes suprimir el argumento Path y la cuenta se creará en la ubicación predeterminada (que por otro lado es la que hemos utilizado en este ejemplo).
Por otro lado, si omitimos los argumentos GroupScope y GroupCategory, el cmdlet nos pedirá que los escribamos de forma interactiva.
Como hemos dicho más arriba, New-ADGroup tiene un número considerable de argumentos. Sin embargo, nuestro objetivo no es realizar un manual exhaustivo de los mismos. Por ello, si necesitas más información, te recomiendo que consultes la página: https://technet.microsoft.com/en-us/library/ee617258.aspx.
Obtener toda la información relacionada con una cuenta de grupo
Una vez creada la cuenta de grupo, podemos obtener todos sus detalles. De este modo comprobaremos, por ejemplo, los valores que se le han asignado de forma predeterminada.
Para lograrlo basta con utilizar el siguiente cmdlet:
Get-ADGroup -Properties * | more
Como puedes suponer, el argumento -Properties indica qué propiedades de la cuenta de grupo queremos obtener. Usando un asterisco, las obtendremos todas.
La segunda parte de la línea anterior es para evitar que el resultado produzca un scroll en la ventana y no tengamos tiempo de leer el principio. El carácter de tubería (“|”), también llamado pipeline por su nombre en inglés, envía la salida al comando more. Éste producirá una pausa cuando la ventana esté completa. A partir de aquí, podremos avanzar poco a poco pulsando la tecla Intro o una pantalla completa pulsando la tecla Espacio.
Como en la orden anterior no hemos indicado ningún criterio que filtre la salida, el cmdlet nos solicitará uno. Para obtener toda la información, escribimos un asterisco.
Al hacerlo, aparece la salida del comando.
Si necesitas más información sobre el cmdlet Get-ADGroup, te recomiendo que consultes la página https://technet.microsoft.com/en-us/library/ee617196.aspx.
Modificar valores en las cuentas de los grupos
Un método muy sencillo para asignar valor a cualquier propiedad de una cuenta de grupo consiste en utilizar el cmdlet Set-ADGroup. Para lograrlo, sólo tenemos que incluir el argumento -Identity, que ya conocemos de apartados anteriores, para identificar la cuenta sobre la que intervendremos. A continuación, usaremos el argumento que identifique la propiedad que queremos modificar. Por ejemplo, para modificar el valor de la propiedad Descripción usaremos el argumento -Description. Para terminar, escribiremos el valor que queremos asignarle a la propiedad.
Set-ADGroup -Identity Profesores -Description “Grupo de profesores”
Si el valor está formado por más de una palabra, deberemos escribirlo entre comillas.
Si necesitas más información sobre el cmdlet Set-ADGroup, te recomiendo que consultes la página https://technet.microsoft.com/en-us/library/ee617199.aspx.
Añadir miembros a un grupo
Los grupos se crean con el objetivo de aglutinar diferentes objetos del dominio, con el fin de administrarlos o compartir recursos con ellos de forma conjunta. Así, si necesitáramos convertir a un usuario en miembro del grupo Profesores, sólo tendríamos que usar el cmdlet Add-ADGroupMember con la siguiente sitaxis:
Add-ADGroupMember Profesores -Members Bernard
Un caso particular de este planteamiento consiste en convertir a un grupo en miembro de otro grupo. Sin embargo, el procedimiento es idéntico. Por ejemplo, para convertir al grupo Profesores en miembro del grupo Operadores de copia de seguridad, bastaría con escribir lo siguiente:
Add-ADGroupMember "Operadores de copia de seguridad" Profesores
De este modo, conseguiremos que todos los miembros del grupo Profesores adquieran los privilegios del grupo Operadores de copia de seguridad.
Si necesitas más información sobre el cmdlet Add-ADGroupMember, te recomiendo que consultes la página https://technet.microsoft.com/en-us/library/ee617210.aspx.
Obtener los miembros de un grupo
Si lo que necesitamos es conocer los miembros que tiene actualmente un grupo, basta con utilizar el cmdlet Get-ADGroupMember. Así, para consultar los miembros que tiene actualmente el grupo Profesores, bastaría con escribir la siguiente orden
Get-ADGroupMember Profesores
Si necesitas más información sobre el cmdlet Add-ADGroupMember, te recomiendo que consultes la página https://technet.microsoft.com/en-us/library/ee617193.aspx.
Eliminar miembros de un grupo
También podemos encontrarnos con la necesidad de que una cuenta de usuario deje de ser miembro de un grupo. Obviamente, esto no hará que se elimine la cuenta de usuario, sólo dejará de tener los privilegios heredados del grupo al que ha dejado de pertenecer.
Por ejemplo, para que el usuario que añadimos más arriba deje de formar parte del grupo Profesores, bastaría con escribir lo siguiente:
Remove-ADGroupMember Profesores -Members Bernard
Al ejecutar la orden, nos pide confirmación.
Un caso particular de este planteamiento es cuando un grupo es a su vez miembro de otro grupo, aunque en realidad, el procedimiento es idéntico. Por ejemplo, conseguir que el grupo Profesores deje de ser miembro del grupo Operadores de copia de seguridad, bastaría con escribir lo siguiente:
Remove-ADGroupMember "Operadores de copia de seguridad" -Members Profesores
Como es lógico, no estamos eliminando al grupo Profesores ni a ninguno de sus miembros. Lo único que hacemos es que los usuarios que son miembros del grupo Profesores dejen de tener los privilegios heredados del grupo Operadores de copia de seguridad.
Si necesitas más información sobre el cmdlet Remove-ADGroupMember, te recomiendo que consultes la página https://technet.microsoft.com/en-us/library/ee617242.aspx.
Eliminar grupos
Para terminar este artículo, parece razonable que aprendamos a eliminar la cuenta de grupo que hemos creado más arriba. Podríamos decir que es una forma de cerrar el círculo.
Para lograrlo podemos utilizar el cmdlet Remove-ADGroup con la siguiente sintaxis:
Remove-ADGroup -Identity "CN=Profesores,CN=Users,DC=somebooks,DC=local"
Como en otras ocasiones, el argumento -Identity, identifica la cuenta sobre la que vamos a actuar. Podemos utilizar varios formatos para este argumento, pero el más frecuente consiste en especificar la jerarquía completa del árbol en el que se encuentra.
En este caso también deberemos confirmar la operación pulsando la tecla S y, a continuación, la tecla Intro.
Como en otras ocasiones, el argumento -Identity, identifica la cuenta sobre la que vamos a actuar. Podemos utilizar varios formatos para este argumento, pero el más frecuente consiste en especificar la jerarquía completa del árbol en el que se encuentra.
Si necesitas más información sobre el cmdlet Remove-ADGroup, te recomiendo que consultes la página https://technet.microsoft.com/en-us/library/ee617228.aspx.
Y hasta aquí el artículo de hoy. Espero que te resulte útil.