Administrar cuentas de equipo del dominio desde la línea de comandos de Windows Server 2016

Hace unos días, aprendimos a Administrar cuentas de equipo del dominio desde la interfaz grafica de Windows Server 2016. 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.

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

  • Crear una nueva cuenta de equipo

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

  • Eliminar una cuenta de equipo

  • Consultar las cuentas de equipo que existen en el dominio

  • Habilitar y deshabilitar cuentas de equipos

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 de equipo, 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
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 equipo

Para crear una nueva cuenta de equipo, utilizaremos el cmdlet New-ADComputer. En su formato más básico, podemos crear una nueva cuenta con  una sintaxis tan sencilla como esta:

New-ADComputer -Name CLIENTE-W10-01

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

La ausencia de mensajes de error nos indica que la cuenta se ha creado correctamente

Administrar-cuentas-de-equipo-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-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-ADComputer -Enabled $true -Name CLIENTE-W10-01 -Path "CN=Computers,DC=somebooks,DC=local" -SamAccountName CLIENTE-W10-01"

Como ves, hemos añadido algunos argumentos complementarios:

  • -Enabled: Asignándole el valor $true nos aseguramos de que la cuenta estará habilitada de forma inmediata tras su creación.

  • -Path: Indica la ruta, dentro de la estructura del directorio, del contenedor donde se creará el nuevo objeto. En este caso, estamos indicando que lo crearemos dentro del contenedor Computers.

  • -SamAccountName: Es el nombre de inicio de sesión para dar soporte a equipos clientes o servidores que ejecuten versiones antiguas del sistema operativo (como Windows NT 4.0 o Windows 98). Su longitud máxima es de 20 caracteres.

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

Administrar-cuentas-de-equipo-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-002

La cantidad de argumentos para New-ADComputer es considerable. 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/es-es/library/ee617245.aspx.

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

Una vez creada la cuenta de equipo, 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-ADComputer CLIENTE-W10-01 -Properties * | more

Escribimos la orden y pulsamos la tecla Intro.

Administrar-cuentas-de-equipo-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-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-cuentas-de-equipo-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-004

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

Salida de Get-ADComputer

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

Eliminar una cuenta de equipo

Una vez que sabemos cómo crear una cuenta de equipo 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-ADComputer con la siguiente sintaxis:

Remove-ADComputer -Identity CLIENTE-W10-01"

Como puedes ver, sólo hemos incluido el argumento -Identity, que tiene la misión de identificar la cuenta de equipo.

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

Administrar-cuentas-de-equipo-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-006

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

Si estamos seguros de los que estamos haciendo, bastará con pulsar la tecla S para confirmar la operación.

Administrar-cuentas-de-equipo-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-007

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

Consultar los equipos que existen en el dominio

Otra operación útil que debemos aprender consiste en mostrar todos las cuentas de equipo que existen actualmente en el dominio. Así, de paso, podremos comprobar que la eliminación anterior de ha producido satisfactoriamente.

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

Get-ADComputer -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-cuentas-de-equipo-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-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-cuentas-de-equipo-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-009

Habilitar y deshabilitar cuentas de equipos

En el primer apartado de este artículo aprendimos a crear nuevas cuentas de equipo. Además, nos aseguramos de que éstas estuviesen habilitadas tras su creación. El motivo es que una cuenta deshabilitada no permitirá que su ordenador correspondiente inicie sesión en el dominio.

Esta característica nos permite controlar ciertas situaciones. Por ejemplo, las siguientes:

  • Podemos evitar que un usuario inicie sesión desde un equipo que actualmente se encuentre en desuso.

  • Podemos crear una cuenta de equipo genérica, a modo de plantilla, configurarla con todas las características necesarias, y después duplicarla para crear cuentas nuevas. Lógicamente la cuenta que actúa como plantilla debe permanecer deshabilitada por cuestiones de seguridad.

En cualquier caso, si quieres saber si la cuenta de un equipo está deshabilitada, basta con escribir el siguiente comando:

get-ADComputer CLIENTE-W10-01 -Properties Enabled

En realidad, ya hemos usado el cmdlet get-ADComputer más arriba. La novedad es que, ahora, nos centramos en la propiedad Enabled.

De todos modos, además del valor de la propiedad Enabled, el cmdlet nos devuelve algunos datos complementarios para que identifiquemos la cuenta sin lugar a dudas.

Administrar-cuentas-de-equipo-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-010

Ahora que hemos comprobado que se encuentra habilitada (Enabled: True), si quisiéramos deshabilitarla, sólo tendríamos que usar la siguiente orden:

Get-ADComputer CLIENTE-W10-01 | Set-ADComputer -Enabled $false

En definitiva, lo que estamos haciendo es obtener un objeto que representa a la cuenta de equipo y enviárselo la cmdlet Set-ADComputer mediante el carácter de tubería (|). Éste le asigna el nuevo valor a la propiedad -Enabled, sustituyendo su valor anterior.

De nuevo, escribimos la orden y pulsamos la tecla Intro.

Administrar-cuentas-de-equipo-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-011

Como es lógico, bastará con escribir la misma orden, cambiando el valor, para volver a habilitarla:

Get-ADComputer CLIENTE-W10-01 | Set-ADComputer -Enabled $true 

Habilitamos de nuevo la cuenta.

Administrar-cuentas-de-equipo-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-012

Y esto es todo por hoy. Espero que te resulte útil.