Creación de cuentas de usuario de Microsoft 365 con PowerShell

Este artículo afecta tanto a Office 365 Enterprise como a Microsoft 365 Enterprise

Puede usar Microsoft Graph PowerShell para crear cuentas de usuario de forma eficaz, incluidas varias cuentas.

Al crear cuentas de usuario en PowerShell, siempre se requieren ciertas propiedades de cuenta. Otras propiedades no son necesarias, pero son importantes. Vea la siguiente tabla.

Nombre de propiedad Obligatorio Descripción
DisplayName

Este es el nombre para mostrar que se usa en los servicios de Microsoft 365. Por ejemplo, Caleb Sills.
UserPrincipalName

Este es el nombre de cuenta que se usa para iniciar sesión en los servicios de Microsoft 365. Por ejemplo, CalebS@contoso.onmicrosoft.com.
FirstName
No
Apellidos
No
LicenseAssignment
No
Este es el plan de licencias (también conocido como plan de licencias o SKU) desde el que se asigna una licencia disponible a la cuenta de usuario. La licencia define los servicios de Microsoft 365 que están disponibles para la cuenta. No es necesario asignar una licencia a un usuario al crear la cuenta, pero la cuenta debe tener una licencia para acceder a los servicios de Microsoft 365. Dispone de 30 días para conceder una licencia a la cuenta de usuario después de crearla.
Password
No
Si no especifica una contraseña, se asignará una contraseña aleatoria a la cuenta de usuario y la contraseña será visible en los resultados del comando. Si especifica una contraseña, debe tener entre 8 y 16 caracteres de texto ASCII de los siguientes tipos: letras minúsculas, letras mayúsculas, números y símbolos.
UsageLocation
No
Se trata de un código de país válido ISO 3166-1 alpha-2. Por ejemplo, EE. UU. para el Estados Unidos y FR para Francia. Es importante proporcionar este valor, ya que algunos servicios de Microsoft 365 no están disponibles en determinados países o regiones. No puede asignar una licencia a una cuenta de usuario a menos que la cuenta tenga configurado este valor. Para obtener más información, consulte Sobre las restricciones de licencia.

Nota:

Consulte también Cómo crear cuentas de usuario mediante el Centro de administración de Microsoft 365.

Para obtener una lista de recursos adicionales, consulte Administración de usuarios y grupos.

Creación de cuentas de usuario de Microsoft 365 con Microsoft Graph PowerShell

Nota:

El sdk de PowerShell de Microsoft Graph reemplaza el módulo de Azure Active Directory. Puede usar el SDK de PowerShell de Microsoft Graph para acceder a todas las API de Microsoft Graph. Para más información, consulte Introducción al SDK de PowerShell de Microsoft Graph.

En primer lugar, use un administrador de controlador de dominio de Microsoft Entra, una Administración de aplicación en la nube o una cuenta de administrador global para conectarse a su inquilino de Microsoft 365. Los cmdlets de este artículo requieren el ámbito de permiso User.ReadWrite.All o uno de los demás permisos enumerados en la página de referencia "List subscribedSkus" Graph API. Algunos comandos de este artículo pueden requerir ámbitos de permisos diferentes, en cuyo caso esto se anotará en la sección correspondiente.

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

Cree una cuenta de usuario individual

Para crear una cuenta individual, use la sintaxis siguiente:

$PasswordProfile = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphPasswordProfile
$PasswordProfile.Password = "<user account password>"
New-MgUser -DisplayName "<display name>" -GivenName "<first name>" -Surname "<last name>" -UserPrincipalName <sign-in name> -UsageLocation <ISO 3166-1 alpha-2 country code> -MailNickname <mailbox name> -PasswordProfile $PasswordProfile -AccountEnabled $true

En este ejemplo se crea una cuenta para el usuario estadounidense John Doe.

$PasswordProfile = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphPasswordProfile
$PasswordProfile.Password = "3Rv0y1q39/chsy"
New-MgUser -DisplayName "John Doe" -GivenName "John" -Surname "Doe" -UserPrincipalName johnd@contoso.onmicrosoft.com -UsageLocation "US" -MailNickname "johnd" -PasswordProfile $PasswordProfile -AccountEnabled $true

Crear varias cuentas de usuario

  1. Cree un archivo de valores separados por comas (CSV) que contenga la información necesaria de la cuenta de usuario. Por ejemplo:

    UserPrincipalName,FirstName,LastName,DisplayName,UsageLocation,MailNickname
    ClaudeL@contoso.onmicrosoft.com,Claude,Loiselle,Claude Loiselle,US,claudel
    LynneB@contoso.onmicrosoft.com,Lynne,Baxter,Lynne Baxter,US,lynneb
    ShawnM@contoso.onmicrosoft.com,Shawn,Melendez,Shawn Melendez,US,shawnm
    

    Nota:

    Los nombres de columna y su orden en la primera fila del archivo CSV son arbitrarios. Pero asegúrese de que el orden de los datos del resto del archivo coincide con el orden de los nombres de columna. Y use los nombres de columna para los valores de parámetro en el comando de PowerShell para Microsoft 365.

  2. En este ejemplo se crean cuentas de usuario a partir del archivoC:\temp\NewAccounts.csv y se registran los resultados en un archivo denominado C:\temp\NewAccountResults.csv.

    # Import the CSV file
    $users = Import-Csv -Path "C:\temp\NewAccounts.csv"
    
    # Create a password profile
    $PasswordProfile = @{
        Password = 'Password123'
        }
    
    # Loop through each user in the CSV file
    foreach ($user in $users) {
        # Create a new user
        $newUser = New-MgUser -DisplayName $user.DisplayName -GivenName $user.FirstName -Surname $user.LastName -UserPrincipalName $user.UserPrincipalName -UsageLocation $user.UsageLocation -MailNickname $user.MailNickname -PasswordProfile $passwordProfile -AccountEnabled
    
        # Assign a license to the new user
        $e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
        Set-MgUserLicense -UserId $newUser.Id -AddLicenses @{SkuId = $e5Sku.SkuId} -RemoveLicenses @()
    }
    
    # Export the results to a CSV file
    $users | Export-Csv -Path "C:\temp\NewAccountResults.csv" -NoTypeInformation
    
  3. Revise el archivo de salida para ver los resultados.

Vea también

Administrar cuentas de usuario, licencias y grupos de Microsoft 365 con PowerShell

Administrar Microsoft 365 con PowerShell

Introducción a PowerShell para Microsoft 365