Conectarse a Exchange Online (Office 365) mediante PowerShell remoto
Lo primero, necesitamos tener PowerShell y para eso nos hace falta Windows 7, Windows Server 2008 R2 SP1, Windows 8, Windows 8.1, Windows 2012 o Windows 2012 R2.
Lo segundo será descargarse e instalar Microsoft Online Services Sign-in Assistant
Y para finalizar los Office 365 PowerShell cmdlets:
Ahora vamos con el paso a paso:
1. Abrir PowerShell y ejecutar el siguiente comando.
$UserCredential = Get-Credential
Saldrá el cuadro de solicitud de credenciales. Meter usuario y contraseña del usuario con permisos en el Exchange Online y hacer Click en Aceptar.
Con esto le daremos a PowerShell las credenciales que más tarde usará para acceder remotamente.
2. Ejecutar el siguiente comando.
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic –AllowRedirection
Este es el comando de conexión propiamente dicho.
3. Ejecutar el siguiente commando.
Import-PSSession $Session
Con este comando nos traemos una sesión a nuestra PowerShell.
4. Ahora para probar ejecuta el siguiente comando.
Get-Mailbox
Si te lista los Mailbox que tienes en la nube ya estás conectado, felicidades!
5. Ahora importar los módulos de Microsoft Office365 Online Service
Import-Module MSOnline
6. Ejecutamos el siguiente comando para conectar a Microsoft
Office365 Online Service
Connect-MsolService –Credential $UserCredential
Esto se puede probar con el comando Get-MsolUser.
Si no te conectaste puede que no tengas habilitado PowerSell para ejecutar scripts. Para habilitarlo tendrás que hacer lo siguiente.
1. Ejecutar PowerShell como administrador.
2. Ejecutar el siguiente comando.
Set-ExecutionPolicy RemoteSigned
Con esto ya está habilitado y debería bastar con hacerlo una vez.
Por último recordar cerrar la sesión, ya que si no cerráis y habéis copado las sesiones de conexión disponible os tocará esperar a que expiren para poder acceder.
Se sale con el comando.
Remove-PSSession $Session