Búsqueda de sitios web

Cree usuarios de Microsoft Entra ID desde CSV con PowerShell


Nos gusta crear nuevos usuarios de Microsoft Entra ID en la empresa. Pasar por el centro de administración de Microsoft Entra y crear los usuarios mediante el asistente nos llevará tiempo. Para acelerar las cosas, elegiremos PowerShell para crear usuarios masivos de Microsoft Entra ID. En este artículo, aprenderá cómo crear usuarios en Microsoft Entra ID desde un archivo CSV.

Conéctese a Microsoft Graph

Antes de comenzar, debe instalar y conectarse a Microsoft Graph.

Inicie Windows PowerShell como administrador y ejecute los siguientes comandos.

Install-Module Microsoft.Graph -Force
Install-Module Microsoft.Graph.Beta -AllowClobber -Force

Importante: Instale siempre los módulos Microsoft Graph PowerShell y Microsoft Graph Beta PowerShell. Esto se debe a que algunos cmdlets aún no están disponibles en la versión final y no funcionarán. Actualice ambos módulos a la última versión antes de ejecutar un cmdlet o script para evitar errores y resultados incorrectos.

Ejecute el cmdlet Connect-MgGraph para iniciar una conexión con Microsoft Entra ID.

Connect-MgGraph -Scopes "User.ReadWrite.All"

Atributos necesarios para crear un usuario de Microsoft Entra ID

Para crear un usuario de Microsoft Entra ID con PowerShell, necesita los atributos mínimos requeridos:

  • -Nombre para mostrar

  • -CorreoApodo

  • -Nombre principal de usuario

  • -Perfil de contraseña

  • -Cuenta habilitada

Crear usuario de Microsoft Entra ID con PowerShell

Inicie PowerShell ISE o Visual Studio Code y ejecute el cmdlet New-MgUser para crear un nuevo usuario de Microsoft Entra ID.

# Create password profile
$PasswordProfile = @{
    Password                             = "P@ssw0rd!"
    ForceChangePasswordNextSignIn        = $true
    ForceChangePasswordNextSignInWithMfa = $true
}

# Create Microsoft Entra ID user
$UserParams = @{
    DisplayName       = "Jeff Baker"
    MailNickName      = "Jeff.Baker"
    UserPrincipalName = "Jeff.Baker@exoip.com"
    PasswordProfile   = $PasswordProfile
    AccountEnabled    = $true
}

New-MgUser @UserParams

Después de ejecutar el comando, mostrará el resultado de que el usuario se creó correctamente.

DisplayName Id                                   Mail UserPrincipalName
----------- --                                   ---- -----------------
Jeff Baker  4cc4f605-8ed1-47f5-8c5f-ca9a29e8ec82      Jeff.Baker@exoip.com

Ahora que sabe cómo crear un usuario de Microsoft Entra ID con Microsoft Graph PowerShell, veamos el siguiente paso: cómo crear de forma masiva usuarios de Microsoft Entra ID con un archivo CSV.

Cree usuarios masivos de Microsoft Entra ID con PowerShell

Repasemos los pasos para crear usuarios masivos de Microsoft Entra ID a partir de un archivo CSV.

1. Descargue la plantilla CSV

Descargue NewUsers.csv y coloque la plantilla CSV en la ruta C:\Temp. Si no tiene una carpeta Temp, cree una.

Ajuste el archivo CSV y guárdelo cuando haya terminado.

2. Descargue el script de PowerShell Add-NewEntraIDUsers

Descargue el script Add-NewEntraIDUsers.ps1 y guárdelo en la ruta C:\Scripts. Si no tiene una carpeta Scripts, cree una.

Asegúrese de que el archivo esté desbloqueado para evitar errores al ejecutar el script. Lea más en el artículo Error sin firma digital al ejecutar el script de PowerShell.

Otra opción es copiar y pegar el siguiente código en el Bloc de notas. Asígnele el nombre Add-NewEntraIDUsers.ps1 y colóquelo en la carpeta C:\Scripts.

<#
    .SYNOPSIS
    Add-NewEntraIDUsers.ps1

    .DESCRIPTION
    Create Microsoft Entra ID users from CSV file.

    .LINK
    www.alitajran.com/create-microsoft-entra-id-users

    .NOTES
    Written by: ALI TAJRAN
    Website:    www.alitajran.com
    LinkedIn:   linkedin.com/in/alitajran

    .CHANGELOG
    V1.00, 05/19/2023 - Initial version
#>

# Connect to Microsoft Graph with user read/write permissions
Connect-MgGraph -Scopes "User.ReadWrite.All"

# Specify the path of the CSV file
$CSVFilePath = "C:\temp\NewUsers.csv"

# Create password profile
$PasswordProfile = @{
    Password                             = "P@ssw0rd!"
    ForceChangePasswordNextSignIn        = $true
    ForceChangePasswordNextSignInWithMfa = $true
}

# Import data from CSV file
$Users = Import-Csv -Path $CSVFilePath

# Loop through each row containing user details in the CSV file
foreach ($User in $Users) {
    $UserParams = @{
        DisplayName       = $User.DisplayName
        MailNickName      = $User.MailNickName
        UserPrincipalName = $User.UserPrincipalName
        Department        = $User.Department
        JobTitle          = $User.JobTitle
        Mobile            = $User.Mobile
        Country           = $User.Country
        EmployeeId        = $User.EmployeeId
        PasswordProfile   = $PasswordProfile
        AccountEnabled    = $true
    }

    try {
        $null = New-MgUser @UserParams -ErrorAction Stop
        Write-Host ("Successfully created the account for {0}" -f $User.DisplayName) -ForegroundColor Green
    }
    catch {
        Write-Host ("Failed to create the account for {0}. Error: {1}" -f $User.DisplayName, $_.Exception.Message) -ForegroundColor Red
    }
}

3. Ejecute el script de PowerShell Add-NewEntraIDUsers

Cambie la ruta del directorio a C:\scripts y ejecute el script Add-NewEntraIDUsers.ps1.

C:\scripts\.\Add-NewEntraIDUsers.ps1

El resultado mostrará si los usuarios se crearon exitosamente o no con un mensaje.

Welcome To Microsoft Graph!
Successfully created the account for Amanda Morgan
Successfully created the account for Jeffrey Welch
Successfully created the account for Kevin Howard
Failed to create the account for Lauren Russell. Error: Another object with the same value for property userPrincipalName already exists.

4. Verificar a los usuarios de Microsoft Entra ID

Ejecute el siguiente script que utiliza el cmdlet Get-MgUser para recuperar los usuarios recién creados en Microsoft Entra ID.

# Specify the path of the CSV file
$CSVFilePath = "C:\temp\NewUsers.csv"

# Import the CSV file
$users = Import-Csv $CSVFilePath

foreach ($user in $users) {
    if (Get-MgUser -UserId $user.UserPrincipalName -ErrorAction SilentlyContinue) {
        Write-Host "$($user.UserPrincipalName) exists" -ForegroundColor Green
    }
    else {
        Write-Host "$($user.UserPrincipalName) does not exist" -ForegroundColor Red
    }
}

Otra forma es iniciar sesión en el centro de administración de Microsoft Entra y verificar los usuarios recién creados.

Cuando los usuarios inician sesión en Microsoft 365, se ven obligados a actualizar su contraseña.

¿Le ayudó esto a crear usuarios de Microsoft Entra ID a partir de un archivo CSV con PowerShell?

Nota: Supongamos que no desea utilizar PowerShell y desea crear los usuarios a través del centro de administración de Microsoft Entra; lea el artículo Creación masiva de usuarios de Microsoft 365 con un archivo CSV.

Leer más: Obtenga el estado MFA en Microsoft Entra y PowerShell »

Conclusión

Aprendió a crear usuarios de Microsoft Entra ID desde CSV con PowerShell. Primero, prepare el archivo CSV y asegúrese de completar toda la información. Luego, ejecute el script Add-NewEntraIDUsers.ps1 para crear los usuarios en Microsoft Entra ID. La parte final es comprobar si los usuarios se crearon correctamente.

Disfrutaste este artículo? También te puede interesar Prevenir ataques de fatiga de MFA en la organización. No olvides seguirnos y compartir este artículo.

Artículos relacionados