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

Publicado por P. Ruiz en

En la primera parte de este artículo aprendimos a crear cuentas de usuario desde la línea de comandos de Windows Server 2016, a obtener información sobre las cuentas, a consultar la relación de cuentas de usuario que existen en el dominio y a eliminarlas. Hoy, continuaremos con la tarea, incluyendo algunas acciones más. En concreto, las siguientes:

  • Asignar o cambiar la contraseña de una cuenta de usuario

  • Habilitar o deshabilitar una cuenta de usuario existente

  • Duplicar una cuenta de usuario existente

  • Modificar los datos de una cuenta

Hoy trabajaremos en Windows Server 2016 sin interfaz gráfica, pero todo lo explicado es completamente válido en un sistema con escritorio.

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

Igual que en la primera parte, realizaremos todo el trabajo de hoy utilizando cmdlets de PowerShell. Por lo tanto, lo primero que debemos hacer 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…

Asignar o cambiar la contraseña de una cuenta de usuario

De forma predeterminada, cuando creamos una cuenta del modo que aprendimos en la primera parte del artículo, ésta no tendrá contraseña. Sin embargo, una cuenta del dominio debe tener asignada una contraseña, incluso cuando no pretendamos iniciar sesión con ella (por ejemplo, porque vayamos a utilizarla como plantilla).

No obstante, asignar una contraseña por primera vez a la cuenta de usuario que creamos en el artículo anterior es tan sencillo como utilizar la siguiente orden:

Set-ADAccountPassword -Identity Bernard

Como ya sabemos, el argumento -Identity, permite identificar la cuenta de usuario. En la primera parte del artículo vimos cómo utilizar la sintaxis que especifica la jerarquía completa del árbol en el que se encuentra la cuenta, para evitar errores. Algo como ‘CN=Bernard,CN=Users,DC=somebooks,DC=local’. Sin embargo, si en nuestro directorio no pueden producirse duplicidades, es decir, si no tenemos otros elementos con el mismo nombre en diferentes lugares del bosque, podemos usar la sintaxis abreviada (como ahora) .

Escribimos la orden anterior y pulsamos la tecla Intro.

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

Al hacerlo, comprobamos que el cmdlet nos muestra la jerarquía completa de la cuenta de usuario, para que podamos asegurarnos de que estamos actuando sobre la cuenta correcta. Debajo, nos solicita la contraseña actual.

Si estamos ejecutando el cmdlet como usuario normal, para cambiar nuestra propia contraseña, estaremos obligados a rellenar la contraseña actual. Si actuamos como Administrador, simplemente pulsaremos la tecla Intro.

Más abajo, deberemos escribir la nueva contraseña, como siempre por duplicado para evitar errores tipográficos.

Si está habilitada la directiva de seguridad relativa a la complejidad de las contraseñas (lo estará de forma predeterminada), deberemos cumplir los siguientes requisitos mínimos:

  • Deberá tener un mínimo de 7 caracteres

  • Estará compuesta por tres de las cuatro categorías siguientes de caracteres:

    • Letras mayúsculas.

    • Letras minúsculas.

    • Dígitos en base 10 (0 a 9).

    • Caracteres no alfabéticos (como &, >, $, !, ?, …).

Además, el sistema recordará las últimas 24 contraseñas y no podremos repetirlas, la vigencia mínima de una contraseña será 1 día y la máxima 42.

Si todo es correcto, el cambio se producirá sin contratiempos.

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

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

También puedes asignar la contraseña a la vez que creas la cuenta con New-ADUser. Para lograrlo, sólo necesitas hacer uso del argumento -accountPassword, que se encarga de asignar una contraseña a la cuenta de usuario que estemos creando.

Además, usaremos el cmdlet ConvertTo-SecureString para convertir el texto de la contraseña en una cadena segura. El argumento -Force permite utilizar un texto plano en lugar de una contraseña.

La sintaxis completa quedaría así:

New-ADUser -Name Bernard -GivenName Bernard -Surname Lowe -Path "CN=Users,DC=somebooks,DC=local" -accountPassword (ConvertTo-SecureString -AsPlainText "Usuario.123" -Force)

http://somebooks.es/wp-content/uploads/2017/01/Administrar-usuarios-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-parte-ii-011

Como probablemente ya hayas deducido, la contraseña que usaremos será Usuario.123

Habilitar o deshabilitar una cuenta de usuario existente

Otra de las características de las cuentas que creemos del modo que aprendimos en la primera parte del artículo, es que se encontrará deshabilitada.

Una cuenta de usuario deshabilitada no podrá iniciar sesión en el dominio, por lo que podemos utilizar esta característica con varios objetivos. Entre ellos, tenemos los siguientes:

  • Para evitar que cualquier otro usuario pueda utilizar la cuenta de un usuario que se encuentre ausente.

  • Para crear una cuenta genérica, a modo de plantilla, configurarla con todas las características necesarias, y después duplicarla para crear cuentas nuevas.

  • Para deshabilitar la cuenta Administrador y utilizar otras cuentas con privilegios administrativos limitados, para realizar la administración cotidiana.

En cualquier caso, si quieres saber si la cuenta de usuario que venimos utilizando de ejemplo está deshabilitada, basta con escribir el siguiente comando:

get-ADUser Bernard -Properties Enabled

En realidad, ya usamos el cmdlet get-ADUser en la primera parte del artículo. 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-usuarios-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-parte-ii-003

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

Enable-ADAccount -Identity Bernard

Escribimos la orden anterior y pulsamos la tecla Intro.

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

Si volvemos a comprobar el valor de la propiedad Enabled, comprobaremos que ya está habilitada.

El valor de la propiedad Enabled es True.

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

Si más adelante necesitáramos deshabilitarla de nuevo, bastaría con escribir lo siguiente:

Disable-ADAccount -Identity Bernard

Como es lógico, al volver a comprobar el valor de la propiedad Enabled, comprobaremos es False.

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

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

En cuanto al cmdlet Enable-ADAccount, puedes encontrar más información en https://technet.microsoft.com/es-es/library/ee617200.aspx. Y para Disable-ADAccount, puedes utilizar https://technet.microsoft.com/es-es/library/ee617197.aspx.

Duplicar una cuenta de usuario existente

Cuando administramos un dominio, es muy frecuente disponer de una o varias cuentas de usuario, que usaremos como plantillas para crear otras cuentas diferentes. De este modo, configuraremos una sola vez las plantillas, pero de forma concienzuda, y después crearemos las nuevas cuentas a partir de ellas.

Lógicamente, en las nuevas cuentas deberemos incluir sus datos básicos, como el nombre o los apellidos. Sin embargo, evitaremos volver a configurar aspectos como el horario de conexión o los grupos a los que pertenece.

En realidad, el proceso es muy parecido al que usamos para crear una nueva cuenta, pero añadiremos el argumento -Instance para especificar la cuenta de usuario en la que debe basarse.

En definitiva, la sintaxis quedará así:

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

Escribimos la orden anterior y pulsamos la tecla Intro.

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

Modificar los datos de una cuenta

Un método muy sencillo para asignar valor a cualquier propiedad de una cuenta de usuario consiste en utilizar el cmdlet Set-ADUser. Para lograrlo, sólo tenemos que utilizar 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 Company usaremos el argumento -Company. Para terminar, escribiremos el valor que queremos asignarle a la propiedad.

Set-ADUser -Identity Bernard -Company WestWorld

Si el valor está formado por más de una palabra, deberemos escribirlo entre comillas.

Escribimos la orden y comprobamos que se ha producido el cambio.

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

Otro modo que tenemos de modificar los datos de una cuenta de usuario consiste en copiarlos desde una cuenta diferente. Para lograrlo, comenzaremos por crear una variable que reciba los datos de partida. Por ejemplo:

$origen=Get-ADUser -Identity Bernard -Properties Company, Office

A continuación, utilizamos la variable para modificar los valores de la otra cuenta:

Set-ADUser -Identity Arnold -Company $($origen.Company) -Office $($origen.Office)

Como ves, se utiliza sintaxis orientada a objetos para referirnos a las propiedades originales.

Al terminar, habrás duplicado las propiedades que hayas indicado.

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

Si quieres comprobar el resultado, puedes volver a usar el cmdlet Get-ADUser. Así, de paso, comprobamos cómo consultar más de una propiedad al mismo tiempo:

Get-ADUser Arnold -Properties Company,Office

…Y nos aseguramos de que el cambio se ha efectuado correctamente.

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

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

Y lo vamos a dejar aquí por hoy, para no ponernos demasiado densos. Pero, si te está pareciendo interesante, no te preocupes, aquí tienes la tercera parte.