Automatización con Alertas: Facilitando la Gestión de Usuarios en Active Directory

Introducción

En el mundo de la administración de sistemas, la automatización es clave para agilizar tareas repetitivas y minimizar errores. En este post, aprenderemos a crear un script en PowerShell que automatiza el proceso de creación de usuarios de red en Active Directory, desde la generación de contraseñas hasta el envío de notificaciones por correo electrónico.

1- Crear un Script para Generar Archivo CSV

En esta primera parte, vamos a crear un script que nos permita generar un archivo CSV con los datos necesarios para la creación masiva de usuarios en Active Directory.

Ahora creamos una carpeta llamada CreateUser y lo guardamos.

2- Crear el Script para la Creación de Usuarios de Red Desde PowerShell

Ahora, vamos a dar un paso hacia la eficiencia al crear un script que automatizará la creación masiva de usuarios de red utilizando el archivo CSV generado previamente. Esta solución optimizará el proceso, agilizando la gestión de usuarios en Active Directory y garantizando una implementación uniforme y sin errores.

###Importar el archivo CSV y crear usuarios en Active Directory#####

Import-Csv "C:\CreateUser\new.csv" -Delimiter ";" | ForEach-Object {
    $nombreCompleto = "$($_.GivenName) $($_.Lastname)"
    $correoElectronico = $_.EmailAddress
    $samAccountName = $_.SamAccountName  # Captura el nombre de usuario de red

    New-ADUser -Name $nombreCompleto `
               -SamAccountName $samAccountName `
               -UserPrincipalName $_.UserPrincipalName `
               -GivenName $_.GivenName `
               -Surname $_.Lastname `
               -DisplayName $_.DisplayName `
               -EmailAddress $correoElectronico `
               -AccountPassword (ConvertTo-SecureString "TUCONTRASEÑA" -AsPlainText -Force) `
               -Enabled $true
}

Donde dice TUCONTRASEÑA, cambialo por una contraseña aleatoria que van a tener los usuarios que estaras creando

3- Configurando el Envío de Correo Electrónico

Este script permite a los administradores enviar notificaciones por correo electrónico sobre la creación de nuevos usuarios en Active Directory. Utilizando las credenciales de Gmail, el script envía automáticamente un correo electrónico al administrador o a las personas relevantes, proporcionando información crucial sobre el usuario recién creado, como su nombre completo, nombre de usuario de red, correo electrónico y fecha de creación. Los administradores pueden personalizar fácilmente el contenido del correo electrónico para adaptarlo a las necesidades específicas de su entorno.

$credential = New-Object System.Management.Automation.PSCredential("TUCORREO@gmail.com", (ConvertTo-SecureString "TU-CLAVE-GENERADA-GMAIL" -AsPlainText -Force))

$body = @"
Usuario creado: $($nombreCompleto)
Usuario de Red: $($samAccountName)
Correo electrónico creado: $($correoElectronico)
Fecha de creación: $(Get-Date)
"@

Send-MailMessage -SmtpServer "smtp.gmail.com" `
                 -Port 587 `
                 -UseSsl `
                 -Credential $credential `
                 -From "TUCORREO@gmail.com" `
                 -To "NOTIFICAR1@emprendevalentin.com","NOTIFICAR2@emprendevalentin.com" `
                 -Subject "Nuevo usuario creado: $($nombreCompleto)" `
                 -Body $body

TUCORREO@GMAIL.COM: Aquí vamos a ingresar el correo que estara enviando la alerta a los administradores

From TUCORREO@gmail.com“: Aquí vamos a poner el correo que estará enviando la notificacion, que es la misma del primer punto.

To “NOTIFICAR1@emprendevalentin.com“,”NOTIFICAR2@emprendevalentin.com” ` : Aquí vamos a poner a los administradores que les estará llegando esta alerta.

4- Cómo Generar Contraseñas de Aplicación en Gmail para Scripts de PowerShell

  • Accede a tu cuenta de Google: Ve a la página de configuración de seguridad de tu cuenta de Google. Puedes acceder a ella desde tu cuenta de Gmail haciendo clic en tu avatar en la esquina superior derecha y seleccionando “Cuenta de Google”.
    • Navega a la sección de seguridad: Dentro de la configuración de tu cuenta de Google, busca la opción de “Seguridad” en el menú de la izquierda.
      • Habilita la verificación en dos pasos (opcional pero recomendado): Si aún no lo has hecho, te recomiendo habilitar la verificación en dos pasos para mejorar la seguridad de tu cuenta. Esto agregará una capa adicional de protección al requerir un código de verificación adicional además de tu contraseña para acceder a tu cuenta.
        • Genera una contraseña de aplicación: Busca la sección de “Contraseñas de aplicación” o “Aplicaciones menos seguras” y selecciona la opción para generar una nueva contraseña de aplicación.
          • Selecciona la aplicación y el dispositivo: En la lista de aplicaciones, selecciona “Otra (nombre personalizado)” y escribe un nombre descriptivo para identificar la aplicación o dispositivo desde el cual utilizarás la contraseña. Por ejemplo, podrías llamarlo “App Notificar AD”.
            • Genera la contraseña: Haz clic en “Generar” y Google te proporcionará una contraseña única. Esta será la contraseña que utilizarás en tu script de PowerShell en lugar de tu contraseña normal de Gmail.
              • Utiliza la contraseña en tu script: Una vez que hayas generado la contraseña de aplicación, cópiala y utilízala en lugar de tu contraseña normal en el script de PowerShell. Asegúrate de mantener esta contraseña segura y no compartirla con nadie más.

                5- Cómo Nos Llega La Alerta al Correo

                Esta alerta nos llega de la siguiente forma una vez ejecutado el script

                6- Script Completo Listo Para Modificar y Ejecutar

                ###Importar el archivo CSV y crear usuarios en Active Directory#####
                
                Import-Csv "C:\CreateUser\new.csv" -Delimiter ";" | ForEach-Object {
                    $nombreCompleto = "$($_.GivenName) $($_.Lastname)"
                    $correoElectronico = $_.EmailAddress
                    $samAccountName = $_.SamAccountName  # Captura el nombre de usuario de red
                
                    New-ADUser -Name $nombreCompleto `
                               -SamAccountName $samAccountName `
                               -UserPrincipalName $_.UserPrincipalName `
                               -GivenName $_.GivenName `
                               -Surname $_.Lastname `
                               -DisplayName $_.DisplayName `
                               -EmailAddress $correoElectronico `
                               -AccountPassword (ConvertTo-SecureString "Password$18" -AsPlainText -Force) `
                               -Enabled $true
                }
                
                #########Configurar las credenciales de Gmail###########
                
                $credential = New-Object System.Management.Automation.PSCredential("TUCORREO@gmail.com", (ConvertTo-SecureString "TU-CLAVE-GENERADA" -AsPlainText -Force))
                
                #########Envío de correo electrónico##########
                
                $body = @"
                Usuario creado: $($nombreCompleto)
                Usuario de Red: $($samAccountName)
                Correo electrónico creado: $($correoElectronico)
                Fecha de creación: $(Get-Date)
                "@
                
                Send-MailMessage -SmtpServer "smtp.gmail.com" `
                                 -Port 587 `
                                 -UseSsl `
                                 -Credential $credential `
                                 -From "TUCORREO@gmail.com" `
                                 -To "NOTIFICAR1@GMAIL.COM","NOTIFICAR2@GMAIL.COM" ``
                                 -Subject "Nuevo usuario creado: $($nombreCompleto)" `
                                 -Body $body
                

                La automatización es una herramienta poderosa en el arsenal de cualquier administrador de sistemas. Con PowerShell y el módulo Active Directory, puedes simplificar y agilizar tareas como la creación de usuarios en Active Directory. Esperamos que este tutorial te haya sido útil y te motive a explorar más sobre automatización en tu entorno de trabajo

                También te podría gustar...

                Deja una respuesta

                Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

                Social media & sharing icons powered by UltimatelySocial
                YouTube
                Pinterest
                Instagram
                Telegram
                WhatsApp
                Tiktok