Conectar-se ao Exchange Online PowerShell

O módulo do Exchange Online PowerShell V2 (abreviado como módulo EXO V2) usa autenticação moderna e funciona com autenticação multifator (MFA) para se conectar a todos os ambientes do PowerShell relacionados ao Exchange no Microsoft 365: Exchange Online PowerShell, Segurança e Conformidade do PowerShell, e Proteção do Exchange Online (EOP) do PowerShell autônomo. Para mais informações sobre o módulo EXO V2, confira Sobre o módulo Exchange Online PowerShell V2.

Este artigo contém instruções sobre como se conectar ao Exchange Online Windows PowerShell usando o módulo EXO V2 com ou sem MFA.

Para usar as instruções de conexão remota do PowerShell mais antigo e menos seguro que será eventualmente preterido, confira Autenticação básica – Conectar ao Exchange Online PowerShell.

Para usar o antigo módulo Exchange Online Remote PowerShell para se conectar ao Exchange Online PowerShell usando MFA, confira Módulo V1 – Conectar ao Exchange Online PowerShell usando MFA. Observe que esta versão mais antiga do módulo será eventualmente desativada.

O que você precisa saber antes de começar?

  • Os requisitos para instalar e usar o módulo EXO V2 são descritos em Instalar e manter o módulo EXO V2.

    Observação

    O restante das instruções no artigo presume que você já instalou o módulo.

  • Depois de se conectar, os cmdlets e parâmetros aos quais você tem ou não acesso são controlados pelo controle de acesso baseado em função (RBAC). Para obter mais informações, confira Permissões no Exchange Online.

    Para localizar as permissões necessárias para executar cmdlets específicos do Exchange Online, consulte Encontre as permissões necessárias para executar qualquer cmdlet do Exchange.

  • Se sua organização for Exchange local e você tiver direitos autorais do Exchange Empresa com licenças de Serviços para Proteção do Exchange Online (EOP), as instruções de conexão do Windows PowerShell EOP são iguais às do Exchange Online Windows PowerShell, conforme descrito neste artigo.

Dica

Está com problemas? Pergunte no fórum do Exchange Online.

Conectar ao Exchange Online PowerShell usando autenticação moderna ou sem usar a MFA

Estas instruções de conexão usam a autenticação moderna e funcionam com ou sem a MFA (autenticação multifator).

Para outros métodos de login disponíveis no PowerShell 7, confira a seção de experiências de login do PowerShell 7posteriormente neste tópico.

  1. Em uma janela do Windows PowerShell, carregue o módulo EXO V2 executando o seguinte comando:

    Import-Module ExchangeOnlineManagement
    

    Observações:

    • Se você já tiver instalado o módulo EXO v2, o comando anterior funcionará como escrito.
    • Você pode ignorar esta etapa e executar o Connect-ExchangeOnline sem carregar o módulo primeiro.
  2. O comando que você precisa executar usa a seguinte sintaxe:

    Connect-ExchangeOnline -UserPrincipalName <UPN> [-ShowBanner:$false] [-ExchangeEnvironmentName <Value>] [-DelegatedOrganization <String>] [-PSSessionOption $ProxyOptions]
    
    • <UPN> é a sua conta no formato de nome principal do usuário (por exemplo, navin@contoso.com).
    • Quando você usa o parâmetro ExchangeEnvironmentName, não é necessário usar os parâmetros ConnectionUri ou AzureADAuthorizationEndPointUrl. Para obter mais informações, confira as descrições dos parâmetros em Connect-ExchangeOnline.
    • O parâmetro DelegatedOrganization especifica a organização do cliente que você deseja gerenciar como um parceiro autorizado da Microsoft. Para mais informações, confira Parceiros.
    • Se você estiver protegido por um servidor proxy, execute este comando primeiro: $ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>, no qual o valor <Value> é IEConfig, WinHttpConfig ou AutoDetect. Em seguida, use o parâmetro PSSessionOption com o valor $ProxyOptions. Para saber mais, confira New-PSSessionOption.
    • Muitas vezes, você pode omitir o parâmetro UserPrincipalName na próxima etapa para inserir o nome de usuário e a senha depois de executar o comando Connect-ExchangeOnline. Se não funcionar, será necessário usar o parâmetro UserPrincipalName.
    • Se não estiver usando a MFA, você poderá usar o parâmetro Credential em vez do parâmetro UserPrincipalName. Primeiro, execute o comando $Credential = Get-Credential, insira seu nome de usuário e senha e use o nome da variável para o parâmetro Credential (-Credential $Credential). Se não funcionar, será necessário usar o parâmetro UserPrincipalName.

    Este exemplo se conecta ao Exchange Online PowerShell em uma organização do Microsoft 365 ou Microsoft 365 GCC:

    Connect-ExchangeOnline -UserPrincipalName navin@contoso.com
    

    Este exemplo se conecta ao Exchange Online PowerShell em uma organização do Office 365 Alemanha:

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

    Este exemplo se conecta ao Exchange Online PowerShell em uma organização do Microsoft GCC High:

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

    Este exemplo se conecta ao Exchange Online PowerShell em uma organização do Microsoft 365 DoD:

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

    Este exemplo se conecta ao Exchange Online PowerShell para gerenciar outro locatário:

    Connect-ExchangeOnline -UserPrincipalName navin@contoso.com -DelegatedOrganization adatum.onmicrosoft.com
    
  3. Na janela de entrada exibida, insira sua senha e, em seguida, clique em Entrar.

    Insira sua senha na janela Entrar na sua conta

  4. Apenas para MFA: um código de verificação é gerado e fornecido com base na opção de resposta de verificação que está configurada para sua conta (por exemplo, uma mensagem de texto ou o aplicativo Microsoft Authenticator em seu dispositivo).

    Na janela de verificação exibida, digite o código de verificação e, em seguida, clique em Verificar.

    Insira o código de verificação na janela Entrar na sua conta

Para informações detalhadas sobre sintaxe e parâmetros, confira Connect-ExchangeOnline.

Observação

Certifique-se de desconectar a sessão do PowerShell remoto quando terminar. Se você fechar a janela do Windows PowerShell sem desconectar a sessão, poderá usar todas as sessões remotas do Windows PowerShell disponíveis para você e precisará esperar que as sessões expirem. Para desconectar a sessão remota do Windows PowerShell, execute o comando a seguir.

Disconnect-ExchangeOnline

Experiências de login do Windows PowerShell 7

Esta seção descreve as experiências de login que estão disponíveis na versão 2.0.4 ou posterior do módulo EXO V2 no Windows PowerShell 7.

Para obter mais informações sobre os sistemas operacionais compatíveis com o módulo EXO V2 no Windows PowerShell 7, confira Sistemas operacionais com suporte para o módulo EXO V2.

Para informações detalhadas sobre sintaxe e parâmetros, confira Connect-ExchangeOnline.

Scripting interativo usando logon único baseado em navegador

O logon único (SSO) baseado em navegador é o método de logon padrão no Windows PowerShell 7. O comando Connect-ExchangeOnline abre a página de logon do Microsoft Azure Active Directory no navegador padrão. Depois de inserir suas credenciais, cmdlets mais antigos do Exchange Online e cmdlets do módulo EXO V2 estarão disponíveis na sessão resultante do Windows PowerShell.

Se você utilizar o parâmetro UserPrincipalName no comando, o valor UPN será utilizado na página de logon no navegador.

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

Login baseado em dispositivo

Use o login baseado em dispositivo quando nenhum navegador estiver disponível (e, portanto, você não pode ver a página de login):

Connect-ExchangeOnline -Device

O comando retorna um URL e um código exclusivo vinculado à sessão. Você precisa abrir o URL em um navegador em qualquer computador e, em seguida, inserir o código exclusivo. Depois de concluir o logon no navegador da Web, a sessão na janela do Windows PowerShell 7 é autenticada por meio do fluxo de autenticação regular do Azure Active Directory e os cmdlets do Exchange Online são importados após alguns segundos.

Credenciais inline

Você pode inserir suas credenciais diretamente na janela do Windows PowerShell sem a necessidade de ir ao navegador para SSO.

Observação

Este método não funciona com contas que usam autenticação multifator.

Este método é uma melhoria no parâmetro Credencial, porque você não precisa armazenar localmente as credenciais em um script, e você pode inserir as credenciais diretamente em uma sessão interativa do Windows PowerShell.

Connect-ExchangeOnline -InlineCredential

Como saber se funcionou?

Os cmdlets do Exchange Online são importados para sua sessão local do Windows PowerShell e rastreados por uma barra de progresso. Se nenhum erro aparecer, você se conectou com êxito. Um teste rápido é executar um cmdlet do Exchange Online PowerShell; por exemplo, o Get-Mailbox, e confira os resultados.

Caso você receba erros, verifique os seguintes requisitos:

  • Um problema comum é uma senha incorreta. Execute as três etapas novamente e preste muita atenção ao nome de usuário e à senha que você usa.

  • Para ajudar a evitar ataques de negação de serviço (DoS), você está limitado a cinco conexões do Windows PowerShell remotas abertas para o Exchange Online.

  • A conta que você usa para conectar deve estar habilitada para o PowerShell remoto. Para obter mais informações, confira Habilitar ou desabilitar o acesso ao PowerShell do Exchange Online.

  • O tráfego da porta TCP 80 precisa estar aberto entre seu computador local e o Microsoft 365. Provavelmente ele está aberto, mas é algo a ser considerado caso a sua organização tenha uma política de acesso à Internet restritiva.

  • Se sua organização usa autenticação federada e seu provedor de identidade (IDP) e/ou serviço de token de segurança (STS) não estiver disponível ao público, você não poderá usar uma conta federada para se conectar ao PowerShell do Exchange Online. Em vez disso, crie e use uma conta não federada no Microsoft 365 para se conectar ao PowerShell do Exchange Online.