A la hora de utilizar un mayor grado de seguridad en las cuentas el trabajo desde los clientes al usar esas cuentas también se complica un poco y a veces puede ser un poco frustrante. Hoy vamos a ver cómo podemos conectar a servicios como Exchange Online y al Security & Compliance Center a través de powershell utilizando como decíamos usuarios con múltiple factor de autenticación habilitado.

powershell office365 multiple authentication factor

Al habilitar el múltiple factor de autenticación hay varios aspectos que debemos tener en cuenta para evitar problemas con nuestros usuarios como la necesidad de app passwords o las diferencias en cuanto a conectar a los diferentes servicios con powershell, que es lo que vamos a comentar en este artículo. Vamos a hablar de diferentes servicios de administración uno por uno para que veais de una manera rápida lo sencillo que es conectar a los mismos.

Office 365

Podemos conectar simplemente con
Connect-msolservice
Aparecerá un popup en el que tras introducir nuestro nombre de usuario y contraseña, tendremos que introducir el código de verificación que recibamos

Necesita de tener instalado el módulo correspondiente que se puede realizar con
Install-Module MSOnline.

Azure AD

Como el anterior simplemente tener instalado el módulo y ejecutar
Connect-azuread
Se nos pedirà usuario, contraseña y posteriormente código

El módulo necesario lo podemos instalar con
Install-Module -Name AzureAD

Exchange Online / Security & Compliance Center

Para estos servicios el acceso es ligeramente diferente,

  1. Nos logueamos en nuestro Office 365
  2. Accedemos al panel de administración de Exchange Online
  3. Clickamos en “Hybrid”
  4. Clickamos en “configurar” el modulo para powershell de Exchange Online

Esto descargará en nuestra máquina el módulo que luego podremos reutilizar. Para que este módulo funcione correctamente en nuestra máquina debemos de tener configurado el WinRM (Windows Remote Management) para que acepte la autenticación básica. Podemos comprobar esto sin salir de powershell con

winrm get winrm/config/client/auth

En caso que no veamos el valor del parámetro Basic = true , podemos cambiarlo con el siguiente comando

winrm set winrm/config/client/auth @{Basic="true"}

Si no tenemos WinRM activado recibiremos un mensaje de error al querer comprobar su estado.

Una vez tengamos esto solucionado, el mismo módulo indica los únicos comandos que necesitamos tanto para conectar contra Exchange Online como para el Security & Compliance Center que son:

Exchange Online

Connect-EXOPSSession -UserPrincipalName ejemplo@cyberseguridad.net

Security & Compliance Center

Connect-IPPSSession -UserPrincipalName ejemplo@cyberseguridad.net

Y tras esto como al conectar a los otros servicios, contraseña y código.

saludos