Adam the Automator

Conectarse a Office 365 con PowerShell puede ser un problema a veces. Tienes que recordar constantemente diferentes comandos y módulos. Cambiemos eso.

En este artículo, aprenderá a conectarse a Office 365 con PowerShell. Para ello, utilice el módulo Azure AD PowerShell para gráficos y el módulo Azure Active Directory para Windows PowerShell.

Tabla de Contenidos

Requisitos previos

Para consultar cualquiera de los ejemplos de este tutorial, asegúrese de tener lo siguiente con anticipación:

  • Windows PowerShell 5.1 (Se instala de forma predeterminada en Windows 7 y versiones posteriores)
  • Un inquilino de Office 365
  • Asistente de inicio de sesión de Microsoft Online Services para profesionales de TI RTW

¿Por qué dos módulos de Azure AD?

Al trabajar con Office 365 con PowerShell, es probable que tenga que usar dos módulos diferentes. Utilizará Azure Active Directory PowerShell para Graph con el nombre de módulo AzureAD y Azure Active Directory module para Windows PowerShell con el nombre de módulo MSOnline.

AzureAD y MSOnline le permiten trabajar con servicios de Office 365 utilizando PowerShell, ¿por qué dos? AzureAD es el sucesor de MSOnline y de lo que puedo deducir reemplazará a MSOnline en algún momento. Toda la funcionalidad nueva está en el módulo AzureAD, pero todavía hay algo de superposición con el módulo MSOnline.

Encontrará tareas como la administración de usuarios, grupos y administración de licencias que aún existen en el módulo MSOnline.

Conexión a Office 365 con el módulo AzureAD

Para conectarse a Office 355 con PowerShell mediante el módulo AzureAD, primero deberá instalarlo. Puede hacerlo ejecutando Install-Module AzureAD desde una sesión administrativa de PowerShell.

Todos los sustantivos de todos los comandos del módulo AzureAD tienen el prefijo AzureAD.

Una vez que tenga el módulo instalado, ejecute el cmdlet Connect-AzureAD. Una vez hecho esto, PowerShell le pedirá su ID y contraseña de Microsoft (cuenta de trabajo o escuela). Una vez autenticado, podrá usar todos los comandos del módulo.

Conectarse a Office 365 con el módulo MSOnline

Conectarse a Office 365 con PowerShell mediante el módulo MSOnline requiere un poco más de esfuerzo. Suponiendo que tenga instalado el paquete de software RTW del Asistente de inicio de sesión de Microsoft Online Services para profesionales de TI:

  1. Instale el módulo MSOnline desde la Galería de PowerShell ejecutando desde una consola administrativa de PowerShell.
Install-Module MSOnline

2. Una vez instalado el módulo, ejecute Get-Module para asegurarse de que PowerShell pueda encontrar el módulo.

Módulo MSOnline PowerShell disponible
Módulo MSOnline PowerShell disponible

3. Por último, ejecute el cmdlet Connect-MsolService para autenticarse en Azure AD. Esto le pedirá su credencial de Office 365.

Iniciar sesión en Azure Active Directory con PowerShell
Iniciar sesión en Azure Active Directory con PowerShell

En lugar de ejecutar Connect-MsolService por sí solo, como se muestra arriba, también puede usar el parámetro Credential. Puede hacer esto porque ya lo ha capturado en la variable $cred. Esto evitará que aparezca el cuadro emergente de autenticación.

Conectarse a Office 365 (Exchange) con PowerShell

Si necesita conectarse a Exchange Online, debe realizar un conjunto de pasos. Ahora necesitará establecer una sesión de comunicación remota implícita de PowerShell para que todos los comandos de Exchange Online estén disponibles.

A continuación encontrará el código de PowerShell para crear una credencial, compilar la sesión e importar los comandos en la sesión actual.

Relacionado: Comunicación remota de PowerShell: La guía definitiva

El fragmento de código que aparece a continuación almacena el nombre de usuario y la contraseña de Office 365 en un objeto de credenciales mediante el cmdlet Get-Credential. A continuación, utiliza esa credencial para establecer una sesión de comunicación remota de PowerShell al URI de Exchange e importa la sesión remota a la sesión local.

La comunicación remota implícita es el término utilizado para referirse a la importación de comandos remotos en una sesión local.

PS> $cred = Get-CredentialPS> $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $cred -Authentication Basic -AllowRedirectionPS> Import-PSSession $Session -DisableNameChecking
Establecer una nueva PSSession para Intercambiar en línea
Establecer una nueva PSSession para Intercambiar en línea

Si la importación de la sesión va bien sin mensajes de error, ahora ejecute Get-AcceptedDomain para asegurarse de que sus dominios se muestren.

Uso del cmdlet Get-AcceptedDomain
Uso del cmdlet Get-AcceptedDomain

Una vez que haya terminado, desconecte y elimine la PSSession ejecutando Remove-PSSession $Session.

Si necesita conectarse a Exchange Online a través de MFA, Microsoft proporciona una excelente guía titulada Conectar a Exchange Online PowerShell mediante autenticación Multifactor.

Resumen

Office 365 tiene muchos servicios, pero afortunadamente, puede administrarlos todos con PowerShell. Una vez que haya instalado ambos módulos y se haya conectado mediante los comandos Connect, estará en camino de administrar Office 365 con PowerShell.

Deja una respuesta

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