Cómo conectar PowerShell a Office 365 e Exchange Online

PowerShell es una excelente manera de administrar su entorno de Office 365. Le permite automatizar muchas tareas escribiendo sus propios scripts o cambiar 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 de Microsoft Azure Active Directory para Windows Powershell (MSOnline) y el nuevo Azure Active Directory PowerShell para Graph (AzureAD).

Necesitará ambos en el momento de escribir, 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 de PowerShell

En primer lugar, vamos a instalar ambos módulos de PowerShell. Puede usarlos a la vez en su sistema sin ningún problema.

Paso 1: Instale el módulo AzureAD en PowerShell

Abra PowerShell en modo admin (Windows key + 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 AzureAD

Paso 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 MSOnline

Conexión de PowerShell a Office 365

Ahora tenemos ambos módulos instalados, por lo que ahora podemos conectar PowerShell a Office 365. La mayoría de la documentación todavía está escrita para el módulo MSOnline, así que empecemos por ahí.

Para conectarse al servicio MSOnline, debe ejecutar el comando Connect-MSolService, que le solicitará un cuadro de firmas estándar de Microsoft para sus credenciales de Office 365.

Ahora puede usar los cmdlets MSol en PowerShell, puede encontrar una descripción general de los cmdlets aquí en los documentos de Microsoft

Conectarse 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 to Exchange Online

He escrito un artículo actualizado sobre cómo conectar Exchange Online con 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 esto. Pero vamos a hacer una conexión para Intercambiar en línea con la comunicación remota implícita.

Con el código que aparece a continuación, estamos creando un objeto de credenciales, creando la sesión e importándola a nuestra sesión de PowerShell:

Si utiliza MFA (Autenticación multifactor), no puede usar el método Get-Credential.

Ahora tiene la opción de 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 puede 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 ser una molestia 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 puedes usar para una aplicación que no es compatible con MFA.

  1. Inicie sesión en Office 365 y goto https://portal.office.com/account/#security.
  2. Seleccione Verificación de seguridad adicional
  3. Seleccione Crear y administrar contraseñas de aplicaciones (última línea)
  4. Crear una nueva contraseña de aplicación para PowerShell

Ahora, si desea conectar Office 365 con PowerShell, puede hacer lo siguiente:

# Store your credentials - Enter your username and the app password$Cred = Get-Credential# Connect to MsolConnect-MsolService -Credential $Cred# Connect to AzureAdConnect-AzureAD -Credential $Cred# Connect to Exchange Online$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirectionImport-PSSession $Session -DisableNameChecking

Como puede ver, solo tiene que iniciar sesión una vez. Podemos usar el mismo objeto de credencial para cada conexión.

Si 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ás en mi Galería de 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.

0 Comparte

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Previous post 10 Problemas Comunes de Recursos Humanos (y Cómo Resolverlos)
Next post Por qué Correr y Culturismo Son Una Gran Combinación Para Ganancias