Administrar usuarios del dominio desde la línea de comandos de Windows Server 2016 (Parte I)

Publicado por P. Ruiz en

Estos últimos días, hemos dedicado tres artículos al modo en que podemos administrar las cuentas de usuario desde la interfaz gráfica de Windows Server 2016. En particular, han sido estos:

Sin embargo, cuando tenemos un servidor que no dispone de interfaz gráfica, no nos quedará más remedio que recurrir a cmdlets de PowerShell para realizar la misma tarea.

Un cmdlet (que se pronuncia command-let), es una orden de consola de PowerShell, que pueden ejecutarse como parte de un script o directamente desde la línea de comandos. En cualquier caso, no se ejecutan como procesos independientes, sino que forman parte del contexto de la propia Shell.

Hoy aprenderemos a resolver las tareas básicas de administración de usuarios desde la línea de comandos. En particular, nos centraremos en las siguientes situaciones:

  • Crear una nueva cuenta de usuario

  • Obtener toda la información relacionada con una cuenta de usuario

  • Eliminar una cuenta de usuario

  • Consultar los usuarios que existen en el dominio

En breve publicaremos un nuevo artículo para explicarte cómo realizar algunas otras tareas

Aunque el contenido de hoy lo centraremos en Windows Server 2016 sin interfaz gráfica, es 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 usuario, suele ser más rápido utilizar la línea de comandos. Incluso podremos automatizarlo usando scripts (como veremos en un próximo artículo)

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
Abrir la terminal

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.

Escribimos el nombre de la interfaz de consola y pulsamos la tecla Intro.

Administrar-usuarios-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-parte-i

A partir de aquí, comenzaremos a aplicar las diferentes ordenes…

Crear una nueva cuenta de usuario

Para crear una nueva cuenta de usuario, utilizaremos el cmdlet New-ADUser. Dada la gran cantidad de propiedades que puede tener una cuenta de usuario del dominio, el número de argumentos que reconoce New-ADUser es muy elevado. No obstante, podemos crear una nueva cuenta de usuario con una sintaxis tan sencilla como esta:

New-ADUser -Name Bernard

Como puedes imaginar,el argumento -Name indica el nombre del objeto dentro del directorio activo.

Comprobamos que la cuenta de usuario se crea correctamente.

Administrar-usuarios-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-parte-i-001

Sin embargo, aunque la cuenta se ha creado de forma satisfactoria, casi todas sus propiedades se encuentran vacías, por lo que quizás sería mejor usar una sintaxis más completa:

New-ADUser -Name Bernard -GivenName Bernard -Surname Lowe -Path "CN=Users,DC=somebooks,DC=local"

Como ves, hemos añadido algunos argumentos complementarios:

  • -GivenName: Indica el nombre del usuario, lo que conocemos habitualmente como nombre de pila.

  • -Surname: Hace referencia al apellido o apellidos del usuario. Recuerda que si lleva espacios (por ejemplo, porque usemos dos apellidos), debe escribirse entre comillas.

  • -Path: Indica la ruta, dentro de la estructura del directorio, del contenedor donde se creará el nuevo objeto

También en este caso, la cuenta se crea correctamente.

Administrar-usuarios-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-parte-i-002

Como dijimos antes, la cantidad de argumentos para New-ADUser es inmensa. 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/ee617253.aspx.

Obtener toda la información relacionada con una cuenta de usuario

Una vez creada la cuenta de usuario, 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-ADUser Bernard -Properties * | more

Escribimos la orden y pulsamos la tecla Intro.

Administrar-usuarios-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-parte-i-003

Como puedes suponer, el argumento -Properties indica qué propiedades de la cuenta de usuario 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.

Aquí vemos la salida pausada.

Administrar-usuarios-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-parte-i-004

Para que te hagas una idea, en la siguiente imagen puedes ver la salida completa para la cuenta de usuario que hemos creado más arriba:

Salida de Get-ADUser

Si necesitas más información sobre el cmdlet Get-ADUser, te recomiendo que consultes la página https://technet.microsoft.com/en-us/library/ee617241.aspx

Eliminar una cuenta de usuario

Una vez que sabemos cómo crear una cuenta de usuario y cómo consultar su configuración, parece razonable que aprendamos a eliminarla. Digamos que es una forma de cerrar el círculo.

Para lograrlo podemos utilizar el cmdlet Remove-ADUser con la siguiente sintaxis:

Remove-ADUser -Identity "CN=Bernard,CN=Users,DC=somebooks,DC=local"

Como puedes ver, sólo hemos incluido el argumento -Identity, que tiene la misión de identificar la cuenta de usuario. 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.

El formato usado para indicar la jerarquía del elemento forma parte de la especificación X.500 para definir nodos en un directorio LDAP. En ella, las siglas CN provienen de Common Name y DC de Domain Component.

Cuando necesitemos indicar una unidad organizativa usaremos OU, de Organizational Unit.

Sólo hay que escribir la orden y pulsar la tecla Intro.

Administrar-usuarios-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-parte-i-006

Como estamos eliminando la cuenta de usuario, y se trata de un proceso irreversible, el sistema nos pide confirmación.

Bastará con pulsar la tecla S para confirmar la operación.

Administrar-usuarios-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-parte-i-007

Si necesitas más información sobre el cmdlet Remove-ADUser, te recomiendo que consultes la página https://technet.microsoft.com/en-us/library/ee617206.aspx.

Consultar los usuarios que existen en el dominio

Para terminar el artículo de hoy, aprenderemos a mostrar todos los usuarios del dominio. De este modo, podremos comprobar que la eliminación anterior de ha producido satisfactoriamente.

En realidad, es tan fácil como volver a utilizar el cmdlet Get-ADUser, pero con una sintaxis diferente:

Get-ADUser -Filter *

Como puedes imaginar, el argumento -Filter nos permite consultar todas las cuentas de usuario que cumplan una determinada condición. Y el asterisco significa todo.

Escribimos la orden y pulsamos la tecla Intro.

Administrar-usuarios-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-parte-i-008

Al hacerlo, obtendremos una salida como la mostrada en la siguiente imagen.

Si lo crees necesario, puedes añadir el comando more, como vimos más arriba, para detener el scroll de la ventana.

Administrar-usuarios-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-parte-i-009

Y hasta aquí el artículo de hoy. Si quieres continuar leyendo la segunda parte de este artículo, sólo tienes que hacer clic aquí.