PowerShell: Incluir usuario en una cuenta de seguridad

Fuente en GitHub.

Vamos a hacer un script que añade una cuenta introducida por el usuario (usuario de login de la cuenta o sAMAccountName) a un grupo de seguridad de AD (Active Directory).

Comprobar si la cuenta existe

Lo primero es comprobar si el nombre de la cuenta introducida por el usuario existe, para ello vamos a implementar una función que reciba como parámetro de entrada una cadena con el nombre de la cuenta y usando el cmdlet “Get-AdUser” lo compruebe retornando $true si existe o $false en caso contrario.

Para contar el número de objetos devueltos como resultado de Get-AdUser usamos la propiedad Count. El problema es cuando no retorna valores, para eso usamos la construcción @(…) para forzar que el resultado sea un array.

Añadir cuenta a grupo

Ahora vamos a implementar una función que reciba como parámetros el nombre de la cuenta y el nombre del grupo y usando el cmdlet Add-ADGroupMember  añada la cuenta de usuario a un grupo de seguridad.

Llamada la aplicación

En el cuerpo principal de script sólo realizamos una llamada a la función MainUsuarioAGrupoAD que contiene la lógica de la aplicación.

Enlaces externos

 

Anuncios

Powershell: Cambiar la contraseña de cuenta Active Directory

Partiendo de la sintaxis aprendida en el post “PowerShell: Ejemplos básicos” vamos a crear un script que permita modificar la contraseñade una cuenta basada en el nombre que introduzca el usuario por teclado, el usuario debe introducir los siguientes datos:

  • Nombre de la cuenta que
  • Nueva contraseña
  • Confirmación de la nueva contraseña
  • ¿El usuario debe cambiar la contraseña el próximo inicio de sesión? Pregunta Sí / No.

Configuración

Importa modulo con utilidades para Active Directory y establece una variable de solo lectura global (una constante) para depurar script.

Función para depuración por consola, así podemos desactivar los mensajes informativos que usamos para testear el script.

Funciones de propósito general

Función para leer una cadena introducida por el usuario

Evitamos con un pequeño control que el usuario introduzca una cadena vacía.

Función específica para preguntas donde el usuario debe seleccionar entre dos opciones:

Función de entrada principal

Nuestro script sólo tendrá una línea de código fuera de las funciones (sin contar la cabecera con la importación del modulo y la variable global) y será la llamada a la función “SetAccountPwdMain“:

Función cambio contraseña