Cómo conectar PowerShell a Office 365
PowerShell es una excelente manera de administrar su entorno de Office 365. Le permite automatizar muchas tareas escribiendo sus propios scripts o cambiando la configuración con un solo comando. Ahora el primer paso, por supuesto, es Conectar PowerShell a Office 365.
Hay dos formas de conectarse a Office 365 en PowerShell. Módulo Microsoft Azure Active Directory para Windows Powershell (MSOnline) y el nuevo Azure Active Directory PowerShell para Graph (AzureAD).
Necesitará ambos al momento de escribir este artículo, AzureAD es el sucesor de MSOnline, pero no todas las funcionalidades están disponibles en el módulo AzureAD más nuevo.
Instalación de los módulos PowerShell
Primero, instalaremos ambos módulos de PowerShell. Puedes usarlos ambos juntos en tu sistema sin ningún problema.
Paso 1: instalar el módulo AzureAD en PowerShell
Abra PowerShell en modo administrador (tecla Windows + X y seleccione Windows PowerShell (Admin))
Escriba el siguiente comando:
# This will install the AzureAD module from the PowerShell Gallery, you might get a warning that the # source is untrusted, but you can safely type Y and press enter.
Install-Module AzureADPaso 2: instale el Asistente de inicio de sesión de Microsoft Online Services
El módulo MSOnline requiere un poco más de trabajo. Primero, descargue e instale el Asistente de inicio de sesión de Microsoft Online Services.
A continuación, vamos a instalar el módulo en PowerShell. Ejecute el siguiente comando en PowerShell:
Install-Module MSOnlineConexión de PowerShell a Office 365
Ahora tenemos ambos módulos instalados, por lo que podemos conectar PowerShell a Office 365. La mayor parte de la documentación todavía está escrita para el módulo MSOnline, así que comencemos por ahí.
Para conectarse al servicio MSOnline, debe ejecutar el comando Connect-MSolService, esto le solicitará un cuadro de inicio de sesión estándar de Microsoft para sus credenciales de Office 365.
Ahora puede usar los cmdlets de MSol en PowerShell; puede encontrar una descripción general de los cmdlets aquí en Microsoft Docs
Conexión con AzureAD
Conectar el nuevo AzureAD es prácticamente lo mismo, simplemente ejecute el comando Connect-AzureAD. Se le pedirá que inicie sesión con su cuenta de Microsoft, al igual que con MSol. Puede encontrar una descripción general de los cmdlets del módulo AzureAD aquí.
Powershell Connect para intercambiar en línea
Consejo
He escrito un artículo actualizado sobre cómo conectar Exchange Online utilizando el nuevo módulo Exchange Online V2. ¡Asegúrate de leer ese artículo primero!
Conectarse a Exchange Online es un poco diferente, no es necesario instalar un módulo para ello. Pero vamos a realizar una conexión a Exchange Online con comunicación remota implícita.
Con el siguiente código estamos creando un objeto de credencial, compilamos la sesión y la importamos a nuestra sesión de PowerShell:
$Cred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameCheckingSi está utilizando MFA (autenticación multifactor), no puede utilizar el método Get-Credential.
Ahora tiene dos opciones para resolver esto: usar una contraseña de aplicación o usar el módulo PowerShell remoto de Exchange Online.
Prefiero usar una contraseña de aplicación, de esta manera puedes configurar rápidamente una conexión a todos los servicios de Office 365 con PowerShell.
Usar una contraseña de aplicación
MFA es una gran adición de seguridad, pero puede resultar complicado cuando se trata de automatizar cosas con PowerShell. Para resolver este problema, puede crear una contraseña de aplicación en Office 365. Esta es una contraseña segura que puede usar para una aplicación que no es compatible con MFA.
- Inicie sesión en Office 365 y vaya a https://portal.office.com/account/#security.
- Seleccione Verificación de seguridad adicional
- Seleccione Crear y administrar contraseñas de aplicaciones (última línea)
- Cree una nueva contraseña de aplicación para PowerShell
Ahora si deseas conectar Office 365 con PowerShell puedes hacer lo siguiente:
# Store your credentials - Enter your username and the app password
$Cred = Get-Credential
# Connect to Msol
Connect-MsolService -Credential $Cred
# Connect to AzureAd
Connect-AzureAD -Credential $Cred
# Connect to Exchange Online
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameCheckingComo puedes ver sólo tienes que iniciar sesión una vez. Podemos utilizar el mismo objeto de credencial para cada conexión.
También creó un par de scripts de PowerShell que puede usar para conectarse fácilmente a todos los servicios de Office 365. Los encontrará en mi Galería TechNet. Tienen la capacidad de almacenar la contraseña de la aplicación en una cadena segura en su computadora, para que pueda automatizar completamente sus scripts.
Conclusión
Conectarse a Office 365 con PowerShell es realmente sencillo. Si está utilizando MFA, la contraseña de la aplicación es la forma más conveniente de hacerlo.
Cuando haya terminado con Exchange Online, asegúrese siempre de cerrar la sesión con Remove-PSSession $Session.

