Saltar al contenido
Categoría: Azure
2020-03-20

Cómo dar de Alta Usuarios en Office 365 con PowerShell

Como muchos ya sabréis, en la plataforma de Office365 se pueden realizar las tareas de forma automática, lo que implica una simplificación y ahorro de tiempos.

En el post de hoy os voy a explicar como dar de alta usuarios en Office365 , así como su asignación de licencias con PowerShell. De esta forma, será mucho más cómodo dar de alta usuarios masivamente que si lo hiciéramos de forma manual.

A continuación, os enseño cuáles son los Dos pasos que vamos que seguir:

1.Crear un Fichero CSV

En primer lugar, crearemos un fichero CSV con el siguiente nombre “CreacionUsuarioOffice365.csv” y con estos datos (Aqui teneis la plantilla para descargar):

  • DisplayName: nombre de usuario completo
  • userPrincipalName: Aquí se debe poner le logín que va a tener el usuario ej.: eduardo.rodado@contoso.com
  • passwordProfile: Aquí debemos poner la contraseña que va tener el usuario según
  • GiveName: nombre de usuario
  • Surname: apellidos del usuario
  • JobTitle: nombre de trabajo
  • Departament: nombre del Departamento
  • UsageLocation: código de país o región de 2 caracteres
  • streetAddress: calle
  • state: nombre de estado
  • country: nombre de país
  • physicalDeliveryOfficeName
  • city: nombre de la ciudad
  • postalCode: Código postal
  • telephoneNumber: número de teléfono de la oficina
  • mail: Dirección de correo electrónico
  • License: Licencia que se va a asignar
  • MailNickName: alias del usuario

*Nota:  Os he dejado el enlace para que os podáis descargar el fichero y solo tengáis que añadir los datos de los usuarios que deseéis dar de alta en Office365

Aquí tenéis un Ejemplo de como debería quedar el fichero de datos cumplimentado.

2.  Ejecución del Script

Una vez insertados los datos en el fichero “CreacionUsuarioOffice365.csv” lo guardaremos en la carpeta de Mis Documentos.

Cuando lo tengamos guardado procedemos a la  Ejecución del Script “CreacionUsuarios_V2.ps1”.

$date = Get-Date -UFormat "%Y%m%dT%H%M%S"
$DesktopUser = $env:USERNAME
$File = "C:\Users\" + $DesktopUser + "\Documents\CreacionUsuarioOffice365.csv"
 
$PasswordProfile= New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile


    $CredO365AD = Get-Credential
    Connect-AzureAD -Credential $CredO365AD
    Connect-MsolService -Credential $CredO365AD

Function LEERUsuarios
{
    $ReadF = Import-Csv -Path $File -Delimiter ";" -Encoding ASCII
    foreach($user in $ReadF)
    {
        $user.userPrincipalName
        IF(Get-AzureADUser -All $true | ? {$_.userPrincipalName -eq $user.userPrincipalName})
        {
               Write-Host "El usuario exite..." -ForegroundColor Yellow
               Modificar

        }
        Else
        {
            Write-Host "`n`tEl usuario no existe" -ForegroundColor Green
            $USer.DisplayName
            $PasswordProfile.Password = $user.passwordProfile
            $USer.userPrincipalName
            
            $user.accountEnabled
            $user.GiveName
            $user.Surname
            $user.JobTitle
            $user.country
            $user.city
            $user.postalCode

            New-AzureADUser -DisplayName $USer.DisplayName -PasswordProfile $PasswordProfile -UserPrincipalName $USer.userPrincipalName -AccountEnabled $true -GivenName $user.GiveName -Surname $user.Surname -JobTitle $user.JobTitle -Country $user.country -City $user.city -PostalCode $user.postalCode -MailNickName $user.MailNickName

        }

    }
}

Function Modificar
{
    Write-Host "Se va a actualizar el Usuarios" -ForegroundColor DarkYellow
    $GetLicense = Get-MsolUser -UserPrincipalName $USer.userPrincipalName
    foreach($Licenses in $GetLicense)
    {
        IF($licenses.IsLicensed -eq $false)
        {
            Write-Host "`n`t******************" -ForegroundColor Green
           $Licenses.UserPrincipalName
           $licenses.IsLicensed
           $user.License
           Set-MsolUserLicense -UserPrincipalName $Licenses.UserPrincipalName -AddLicenses $user.License
           Write-Host
           
        }
        Else
        {
           Write-Host "`t`t*****************************" -ForegroundColor White
           $Licenses.UserPrincipalName
           $licenses.IsLicensed 
           Write-Host "`t`t*****************************`n" -ForegroundColor White
        }
        IF($Licenses.UsageLocation -eq $Null)
        {
            Write-Host "`n`t******************" -ForegroundColor Cyan
            Set-Msoluser -UserPrincipalName $USer.userPrincipalName -UsageLocation $user.country
            Get-MsolUser -UserPrincipalName  $USer.userPrincipalName | where {$_.UsageLocation -eq $null}

        }
        Else
        {
            Write-Host "`n`t******************" -ForegroundColor DarkMagenta
            $Licenses.UsageLocation
            Get-MsolUser -UserPrincipalName  $USer.userPrincipalName | where {$_.UsageLocation -ne $null}

        }

       

    }
}

LEERUsuarios

Mientras el script se va ejecutando podremos ver el resultado de la consola de administración de “Usuarios Activos” de Office365.

Si quieres que ayudemos a tu negocio o empresa contacta con nosotros en info@aleson-itc.com o llámanos al +34 962 681 242

Complete este formulario para recibir la guía de Windows Server en Azure
*Obligatorio
Complete este formulario para recibir la guía de Windows Server en Azure
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
*Obligatorio
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud Migration Essentials
*Obligatorio
Complete este formulario para recibir Cloud Migration Essentials
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
*Obligatorio
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete this form to recieve the guide of Windows Server on Azure
*Required
Complete this form to recieve the guide of Windows Server on Azure
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
*Required
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud Migration Essentials
*Required
Complete this form to recieve Cloud Migration Essentials
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud security Advice for Nonprofit Leaders
*Required
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
Thank you for filling out the form [name]. Here's your Free eBook!