Office 365: Como realizar el borrado masivo de usuarios mediante PowerShell!

A raíz de una pregunta que me han hecho esta tarde sobre como borrar de forma masiva varios usuarios (incluyendo sus licencias), me he puesto a hacer pruebas y este es el resultado al que he llegado (hay más formas de llegar al mismo): borrar los usuarios a partir de sus cuentas de usuario almacenadas en un csv. El script que se muestra a continuación simplemente:

  • Realiza una conexión a Office 365 mediante get-credential y connect-msolservice (Nota: Para ejecutar comandos contra Windows Azure Active Directory os recomiendo la siguiente referencia: http://technet.microsoft.com/en-us/library/jj151815.aspx)
  • Con Import-CSV imputamos el archivo .csv que contiene los usuarios a borrar.
  • En un bucle, nos recorremos los datos con los usuarios a borrar y mediante Get-MSolUser y Remove-MsolUser eliminamos los usuarios y nos aseguramos que no se queden almacenados en la papelera de reciclaje.
   1: #Hacemos un buen uso de PowerShell par ano penalizar el rendimiento

   2: $host.Runspace.ThreadOptions = "ReuseThread"

   3:  

   4: #Conexión a Office 365

   5: $msolcred = get-credential

   6: connect-msolservice -credential $msolcred

   7:  

   8: #Función para la carga de datos

   9: function Remove-Office365Users

  10: {

  11:         # Cogemos los datos del archivo CSV

  12:         $bFileExists = (Test-Path $sInputFile -PathType Leaf) 

  13:         if ($bFileExists) { 

  14:             "Cargando $InvFile para Procesado..." 

  15:             $tblDatos = Import-CSV $sInputFile            

  16:         } else { 

  17:             Write-HostNo se encuentra el archivo $sInputFile. Parando la importación!" -foregroundcolor Red

  18:             exit 

  19:         } 

  20:         

  21:         # Carga de los datos en las listas auxiliares

  22:         Write-Host "Borrando usuarios de Office 365 ..." -foregroundcolor Green    

  23:         foreach ($fila in $tblDatos) 

  24:         { 

  25:             "Borrando el usuario " + $fila.$sNombreColumna.ToString()            

  26:             Get-MsolUser -UserPrincipalName $fila.$sNombreColumna | Remove-MsolUser -Force -RemoveFromRecycleBin

  27:  

  28:         } 

  29:  

  30:         Write-Host "-------------------------------------------------------"  -foregroundcolor Blue

  31:         Write-Host "Borrado completado" -foregroundcolor Blue

  32:         Write-Host "-------------------------------------------------------"  -foregroundcolor Blue

  33: }

  34:  

  35: $ScriptDir = Split-Path -parent $MyInvocation.MyCommand.Path

  36: $sInputFile=$ScriptDir+ "\UsuariosABorrar.csv"

  37: $sNombreColumna="UserPrincipalName"

  38: Remove-Office365Users

  • En cuanto al archivo .csv, tiene que tener la siguiente estructura:

image

4 pensamientos en “Office 365: Como realizar el borrado masivo de usuarios mediante PowerShell!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s