Administrar cuentas de equipo del dominio desde la línea de comandos de Windows Server 2022
Hace unos días, aprendimos a Administrar cuentas de equipo del dominio desde la interfaz grafica de Windows Server 2022. 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 2022 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 2022 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:
powershell
Como hemos dicho más arriba, realizaremos todo el trabajo de hoy utilizando cmdlets de PowerShell y, dado que Windows Server 2022 sin Experiencia de Escritorio suele iniciar la herramienta sconfig de forma automática, es muy probable que debas comenzar la tarea saliendo de dicha herramienta. Lo conseguiremos usando la opción 15 del menú.
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-W11-01
Como puedes imaginar,el argumento -Name indica el nombre del objeto dentro del directorio activo.
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-W11-01 -Path "CN=Computers,DC=somebooks,DC=local" -SamAccountName CLIENTE-W11-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.
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://learn.microsoft.com/en-us/powershell/module/activedirectory/new-adcomputer?view=windowsserver2022-ps.
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-W11-01 -Properties * | more
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.
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:
Si necesitas más información sobre el cmdlet Get-ADComputer, te recomiendo que consultes la página: https://learn.microsoft.com/en-us/powershell/module/activedirectory/get-adcomputer?view=windowsserver2022-ps.
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.
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.
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-W11-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.
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-W11-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.
Como es lógico, bastará con escribir la misma orden, cambiando el valor, para volver a habilitarla:
Get-ADComputer CLIENTE-W11-01 | Set-ADComputer -Enabled $true
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-W11-01
Como puedes ver, sólo hemos incluido el argumento -Identity, que tiene la misión de identificar la cuenta de equipo.
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.
Si necesitas más información sobre el cmdlet Remove-ADComputer, te recomiendo que consultes la página: https://learn.microsoft.com/en-us/powershell/module/activedirectory/remove-adcomputer?view=windowsserver2022-ps.
Y con esto completamos el objetivo de este artículo. Espero que te resulte útil.