Gestión remota de Exchange Online mediante PowerShell
Hasta ahora había dos formas de gestionar Exchange on-premise (instalado en la propia empresa), a través de la consola o de la líneas de comandos Shell. Ahora bien, cuando el servidor no está instalado en nuestras instalaciones sino en el cloud, ¿también podemos llevar a cabo una gestión remota de Exchange Online mediante PowerShell? Sí, con una consola instalada en tu máquina puedes ejecutar comandos contra el servidor Exchange.
Para conectar mediante Shell con Exchange Online, podemos utilizar la consola que viene por defecto en Windows 8.1. Si trabajamos con versiones anteriores de Windows, es posible que necesitemos implementar primero algún requerimiento como .Net Framework 4.5 o WinRM 3.0. Especificaciones al completo aquí.
Una vez en el shell, verificaremos que la política de ejecución de scripts en nuestro equipo local es «unrestricted». Si no lo es, estableceremos este modo:
- Comprobamos: Get-ExecutionPolicy
- Modificamos si es necesario: Set-ExecutionPolicy Unrestricted
Después iniciaremos sesión contra el servicio de Exchange Online de la siguiente forma:
- $UserCredential = Get-Credential
Nos aparecerá un pop-up donde deberemos especificar credenciales de administración de Exchange Online. - $Session = New-PSSession
ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic –AllowRedirection - Import-PSSession $Session
En este momento ya estamos conectados, podemos trabajar. Cuando terminemos, antes de cerrar la consola, recomendable cerrar sesión con Remove-PSSession $Session.
Hemos de tener en cuenta que no todos los cmdlets estarán disponibles. Para una referencia de los comandos disponibles en Exchange Online podemos acceder a esta guía: Reference to Available PowerShell Cmdlets in Exchange Online
Monitorización, siempre un valor añadido
Con nuestro servicio de monitorizació podemos aportar un valor añadido en muchos otros servicios. En este caso, por ejemplo, mediante los comando de powerShell podríamos controlar datos como:
Valores globales en cuanto al tráfico
- Total correo entrante (número de mails y MB)
- Total correo saliente (número de mails y MB)
- Spam entrante detectado (número de mails y porcentaje sobre el total de correo)
- Spam entrante detectado (número de mails y porcentaje sobre el total de correo)
- Usuarios top de envío y recepción
Información sobre los buzones
- Número de buzones y direcciones de correo
- Tamaño de los buzones
- Buzones sin actividad
- Tamaño total de los buzones