Conexión a Exchange Online PowerShell

El módulo de PowerShell V2 de Exchange Online (abreviado como el módulo EXO V2) usa la autenticación moderna y funciona con la autenticación multifactor (MFA) para conectarse a todos los entornos de PowerShell relacionados con Exchange en Microsoft 365: PowerShell de Exchange Online, PowerShell de Seguridad y Cumplimiento normativo y PowerShell de Exchange Online Protection (EOP) independiente. Para más información sobre el módulo EXO V2, consulte Acerca del Módulo de Exchange Online PowerShell V2.

Este artículo contiene instrucciones para conectarse a PowerShell de Exchange Online con el módulo EXO V2 con o sin MFA.

Para usar las instrucciones antiguas de conexión a PowerShell remoto, que son menos seguras y que quedarán obsoletas, vea Autenticación básica: conectar a PowerShell de Exchange Online.

Para usar el antiguo módulo remoto de PowerShell de Exchange Online para conectarse a PowerShell de Exchange Online utilizando MFA, vea Módulo V1: conectarse a PowerShell de Exchange Online mediante MFA. Tenga en cuenta que esta versión anterior del módulo se terminará por retirar.

¿Qué necesita saber antes de empezar?

  • Los requisitos para instalar y usar el módulo EXO V2 se describen en Instalar y mantener el módulo EXO V2.

    Nota

    En el resto de las instrucciones de este artículo, se asume que ya instaló el módulo.

  • Después de conectarse, los cmdlets y parámetros a los que tiene o no tiene acceso se controlan mediante el control de acceso basado en roles (RBAC). Para obtener más información, consulte los permisos en Exchange Online.

    Para buscar los permisos necesarios para ejecutar cmdlets específicos de Exchange Online, vea Buscar los permisos necesarios para ejecutar cualquier cmdlet de Exchange.

  • Si su organización usa Exchange local y usted tiene licencias de Exchange Enterprise CAL con servicios para Exchange Online Protection (EOP), las instrucciones de conexión de EOP PowerShell serán las mismas que las de Exchange Online PowerShell tal cual se describen en este artículo.

Sugerencia

¿Problemas? Pregunte en el foro Exchange Online.

Conectarse a PowerShell de Exchange Online con autenticación moderna con o sin autenticación multifactor

Estas instrucciones de conexión usan una autenticación moderna y funcionan con o sin autenticación multifactor (MFA).

Para otros métodos de inicio de sesión que están disponibles en PowerShell 7, vea la sección de experiencias de inicio de sesión de PowerShell 7 más adelante en este tema.

  1. En una ventana de PowerShell, cargue el módulo EXO V2 ejecutando el comando siguiente:

    Import-Module ExchangeOnlineManagement
    

    Notas:

    • Si ya instaló el módulo EXO V2, el comando anterior funcionará como está escrito.
    • Debería poder saltarse este paso y ejecutar Connect-ExchangeOnline sin cargar el módulo primero.
  2. El comando que necesita ejecutar usa la sintaxis siguiente:

    Connect-ExchangeOnline -UserPrincipalName <UPN> [-ShowBanner:$false] [-ExchangeEnvironmentName <Value>] [-DelegatedOrganization <String>] [-PSSessionOption $ProxyOptions]
    
    • <UPN> es su cuenta en el formato del nombre principal de usuario (por ejemplo, navin@contoso.com).
    • Cuando usa el parámetro ExchangeEnvironmentName, no es necesario usar los parámetros ConnectionUri o AzureADAuthorizationEndPointUrl. Para más información, consulte las descripciones de parámetros en Connect-ExchangeOnline.
    • El parámetro DelegatedOrganization especifica la organización del cliente que desea administrar como partner autorizado. Para más información, vea Partners.
    • Si está detrás de un servidor proxy, ejecute este comando primero: $ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>, donde <Value> es IEConfig, WinHttpConfig o AutoDetect. Después, utilice el parámetro PSSessionOption con el valor $ProxyOptions. Para obtener más información, consulte New-PSSessionOption.
    • A menudo puede omitir el parámetro UserPrincipalName en el paso siguiente para escribir el nombre de usuario y la contraseña después de ejecutar el comando Connect-ExchangeOnline. Si esto no funciona, necesitará usar el parámetro UserPrincipalName.
    • Si no está utilizando MFA, a menudo puede usar el parámetro Credential en lugar del parámetro UserPrincipalName. En primer lugar, ejecuta el comando $Credential = Get-Credential, escriba su nombre de usuario y contraseña y luego usa el nombre variable para el parámetro Credential (-Credential $Credential). Si esto no funciona, necesitará usar el parámetro UserPrincipalName.

    Este ejemplo se conecta al PowerShell de Exchange Online en una organización de Microsoft 365 o Microsoft 365 GCC:

    Connect-ExchangeOnline -UserPrincipalName navin@contoso.com
    

    Este ejemplo se conecta al PowerShell de Exchange Online en una organización de Office 365 Germany:

    Connect-ExchangeOnline -UserPrincipalName lukas@fabrikam.de -ExchangeEnvironmentName O365GermanyCloud
    

    Este ejemplo se conecta al PowerShell de Exchange Online en una organización de Microsoft GCC High:

    Connect-ExchangeOnline -UserPrincipalName laura@blueyonderairlines.us -ExchangeEnvironmentName O365USGovGCCHigh
    

    Este ejemplo se conecta al PowerShell de Exchange Online en una organización de Microsoft 365 DoD:

    Connect-ExchangeOnline -UserPrincipalName julia@adatum.mil -ExchangeEnvironmentName O365USGovDoD
    

    Este ejemplo se conecta al PowerShell de Exchange Online para administrar otro espacio empresarial:

    Connect-ExchangeOnline -UserPrincipalName navin@contoso.com -DelegatedOrganization adatum.onmicrosoft.com
    
  3. En la ventana de inicio de sesión que se abre, escriba su contraseña y, después, haga clic en Iniciar sesión.

    Escriba su contraseña en la ventana de inicio de sesión de su cuenta.

  4. Solo MFA: Se genera y se entrega un código de verificación basándose en la opción de respuesta de comprobación que se ha configurado para su cuenta (por ejemplo, un mensaje de texto o la aplicación Microsoft Authenticator de su dispositivo).

    En la ventana de comprobación que se abre, escriba el código de comprobación y, después, haga clic en Verificar.

    Escriba su código de verificación en la ventana de inicio de sesión de su cuenta.

Para obtener información detallada acerca de la sintaxis y los parámetros, consulte Connect-ExchangeOnline.

Nota

Asegúrese de desconectar la sesión remota de PowerShell cuando haya terminado. Si cierra la ventana de PowerShell sin desconectar la sesión, podría agotar todas las sesiones de PowerShell remotas que tenga disponibles y deberá esperar a que las sesiones expiren. Ejecute el siguiente comando para desconectar la sesión de PowerShell remota.

Disconnect-ExchangeOnline

Experiencias de inicio de sesión en PowerShell 7

Esta sección describe las experiencias de inicio de sesión que están disponibles en la versión 2.0.4 o posteriores del módulo EXO V2 en PowerShell 7.

Para más información sobre los sistemas operativos compatibles con el módulo EXO V2 en PowerShell 7, vea Sistemas operativos compatibles con el módulo EXO V2.

Para obtener información detallada acerca de la sintaxis y los parámetros, consulte Connect-ExchangeOnline.

Scripting interactivo con inicio de sesión único basado en el explorador

El inicio de sesión único (SSO) basado en el explorador es el método de inicio de sesión predeterminado de PowerShell 7. El comando Connect-ExchangeOnline abre la página de inicio de sesión de Azure AD en el explorador predeterminado. Una vez que haya introducido sus credenciales, los cmdlets de Exchange Online antiguos y los cmdlets del módulo EXO V2 estarán disponibles en la sesión de PowerShell resultante.

Si usa el parámetro UserPrincipalName en el comando, se usa el valor UPN en la página de inicio de sesión del explorador.

Connect-ExchangeOnline -UserPrincipalName navin@contoso.onmicrosoft.com

Inicio de sesión basado en dispositivos

Use el inicio de sesión basado en el dispositivo cuando no haya ningún explorador disponible (y, por lo tanto, no pueda ver la página de inicio de sesión):

Connect-ExchangeOnline -Device

El comando devuelve una dirección URL y un código único vinculado a la sesión. Tendrá que abrir la dirección URL en un explorador de cualquier equipo y escribir el código único. Después de completar el inicio de sesión en el explorador web, la sesión de la ventana de PowerShell 7 se autentica mediante el flujo normal de autenticación de Azure AD y los cmdlets de Exchange Online se importan después de unos segundos.

Credenciales en línea

Puede escribir sus credenciales directamente en la ventana de PowerShell sin necesidad de ir al explorador para el SSO.

Nota

Este método no funciona con cuentas que usan la autenticación multifactor.

Este método es una mejora del parámetro Credential, ya que no necesita almacenar las credenciales localmente en un script y puede introducir las credenciales directamente en una sesión interactiva de PowerShell.

Connect-ExchangeOnline -InlineCredential

¿Cómo saber si el proceso se completó correctamente?

Los cmdlets de Exchange Online se importan en la sesión local de PowerShell, tal y como se indica en una barra de progreso. Si no se muestra ningún error, la conexión se habrá establecido correctamente. Una prueba rápida consiste en ejecutar un cmdlet de PowerShell de Exchange Online como, por ejemplo, Get-Mailbox, y ver los resultados.

Si surgen errores, compruebe los siguientes requisitos:

  • Un problema habitual es una contraseña incorrecta. Vuelva a realizar los tres pasos y preste especial atención al nombre de usuario y contraseña que use.

  • Para evitar que se produzcan ataques por denegación de servicio (DoS), solo se pueden tener abiertas cinco conexiones de PowerShell remotas a Exchange Online.

  • La cuenta que usa para conectarse debe estar habilitada para PowerShell remoto. Para obtener más información, vea Habilitar o deshabilitar el acceso a PowerShell de Exchange Online.

  • El tráfico del puerto TCP 80 necesita estar abierto entre el equipo local y Microsoft 365. Probablemente está abierto, pero es algo que debe tener en cuenta si su organización tiene una directiva de acceso a Internet restrictiva.

  • Si su organización usa la autenticación federada, y el proveedor de identidades (IDP) o el servicio de token de seguridad (STS) no están disponibles públicamente, no podrá usar una cuenta federada para conectarse a Exchange Online PowerShell. En su lugar, cree y use una cuenta no federada en Microsoft 365 para conectarse a Exchange Online PowerShell.