Como Conectar-se ao Exchange Online Usando o PowerShell

O Exchange Online PowerShell é uma ferramenta de linha de comando que permite gerenciar suas caixas de correio e usuários do Exchange Online. Pode ser usado para realizar uma variedade de tarefas, como criar e gerenciar caixas de correio, configurar regras de fluxo de correio e gerenciar permissões de usuário. Neste guia, mostraremos como instalar e conectar-se ao Exchange Online PowerShell. Se você é um profissional de TI com funções administrativas do Microsoft 365 no serviço Exchange Online, este guia é para você!

Como instalar e conectar-se ao Exchange Online PowerShell

Como profissional de TI, suas funções administrativas do Microsoft 365 provavelmente abrangem o Exchange Online. Embora a grande maioria dessas tarefas possa ser realizada usando o site do Centro de Administração do Exchange, existem grandes eficiências disponíveis por meio da linha de comando, especialmente na criação de scripts!

Publicidade

Pré-requisitos

Você pode se conectar ao Exchange Online como qualquer outro serviço do Office 365 usando o cmdlet padrão Connect-*. No entanto, há alguns pré-requisitos a ter em mente ao instalar e utilizar o PowerShell do Exchange Online.

Houve várias versões desses módulos ao longo dos anos. A versão 2.0.5 e anteriores são conhecidas como o módulo PowerShell do Exchange Online V2 (EXO V2). A versão 3.0.0 e posterior é conhecida como o módulo PowerShell do Exchange Online V3 (EXO V3).

Vamos focar neste novo módulo, pois ele suporta autenticação multifator (MFA), inclui melhorias de desempenho em relação aos seus antecessores e também é mais seguro! Além disso, é suportado nas últimas versões do PowerShell 7.x. Além disso, uma série de novos cmdlets (EXO-*) permitem que os profissionais de TI sejam mais rápidos e produtivos ao realizar o trabalho.

Instalando o módulo PowerShell do Exchange Online com ‘Install-Module’

Como eu mencionei, vou focar no último módulo ‘V3’ pelo resto deste artigo. Com base nos passos que você já completou anteriormente em um computador específico, existe a possibilidade de realizar entre 2 e 3 passos principais. Vou passar pelos passos individualmente para que você possa começar imediatamente com base no seu ambiente.

Publicidade

I am working on a Windows 11 22H2 virtual machine (VM) in my Hyper-V lab. This machine is Azure-AD joined to my Microsoft 365 Developer tenant. This will allow me to show you the procedure and also include some basic commands at the end of this article to demonstrate how it operates.

I am using the latest version of PowerShell, version 7.3.4, at the time of writing. This will enable me to install the Exchange Online PowerShell module. All I need is a PowerShell window!

Set-ExecutionPolicy RemoteSigned
  • Em seguida, execute o comando Get-Module para verificar quais módulos estão instalados.
Get-Module
Running Get-Module to see what modules are installed (Image credit: Petri/Michael Reinders)
  • I have only the base set of modules installed on my computer. So, I need to install the ‘ExchangeOnlineManagement‘ module. Let’s do this with the Install-Module command:
Install-Module -Name ExchangeOnlineManagement
Running Connect-ExchangeOnline to connect to my tenant (Image credit: Petri/Michael Reinders)

Nota: Como estou usando um ‘repositório não confiável’, preciso especificar que desejo baixar isso do repositório ‘PSGallery’. Eu digitei ‘A’ para escolher ‘Sim para Todos’.

Carregando o módulo com ‘Import-Module’

Vamos agora realizar o próximo passo principal, que é carregar o módulo.

Publicidade

  • Podemos importar o módulo usando o comando Import-Module.
  • Em seguida, podemos executar outro comando Get-Module para obter uma confirmação.
Import-Module ExchangeOnlineManagement
After importing the module, we confirm it is installed and loaded (Image credit: Petri/Michael Reinders)

Aqui está, confirmamos que o módulo está pronto para uso!

Conectando-se ao seu locatário do Exchange Online com ‘Connect-ExchangeOnline’

A etapa final a ser concluída para acessar as informações do Exchange Online do seu locatário é fazer a conexão usando credenciais que permitam esse acesso. Existem vários níveis de função no Azure que permitirão isso. Para esse fim, estarei usando minha função de Administrador Global como parte do meu locatário de Desenvolvedor. Essa função da conta, aliás, me dá acesso total ao Azure AD e a todos os serviços do Microsoft 365 via PowerShell.

Connect-ExchangeOnline -userprincipalname
Connecting to my tenant prompts in-browser authentication (Image credit: Petri/Michael Reinders)
  • Isso abriu uma janela de autenticação do navegador pedindo meu nome de usuário e senha. Aqui é onde posso fazer login com minha conta de Administrador Global.
We’re connected and ready to enter cmdlets (Image credit: Petri/Michael Reinders)

Excelente! Você verá um texto amarelo descrevendo o módulo ‘EXO V3’ e um link de documentação para obter mais informações.

Agora temos a capacidade de executar cmdlets do PowerShell em nosso locatário do Exchange Online. Vou explicar alguns comandos básicos/essenciais com os quais você pode começar em seguida.

Nota: Se sempre estivermos pensando na segurança, é melhor encerrar sua sessão depois de terminar. Desconectar sua sessão é possível executando o seguinte comando antes de fechar seu shell.

Disconnect-ExchangeOnline

Fácil como torta!

Comandos básicos do PowerShell do Exchange Online

Depois de conectado ao módulo PowerShell do Exchange Online Versão 3 (EXO V3), você pode começar a executar cmdlets do Exchange Online. Vamos primeiro listar todas as caixas de correio em nosso locatário.

Como este é um locatário de desenvolvedor, a lista é bastante pequena. Esteja ciente de que em ambientes normais maiores, a saída não será tão útil. Vou chegar a isso em breve. Além disso, temos vários artigos do PowerShell no Petri que podem ajudá-lo.

Em vez de usar o cmdlet ‘legado’ Get-Mailbox (programado para ser descontinuado), vamos mostrar a você os comandos mais recentes no EXO V3. Aqui, vou usar o comando Get-EXOMailbox e depois ‘pipe’ (|) para o switch ‘ft’ (mesmo que ‘Format-Table’). Usando o switch ‘Autosize’, os larguras das colunas são formatadas automaticamente para corresponder à janela do console.

Get-EXOMailbox | ft -Autosize
Using Get-EXOMailbox to list our mailboxes (Image credit: Petri/Michael Reinders)

Por padrão, obtemos o ‘ExternalDirectoryObjectId’, o ‘UserPrincipalName’ (geralmente o endereço de e-mail) e o alias de e-mail. Vamos pedir para nos fornecer mais informações.

Get-EXOMailbox | Select DisplayName,PrimarySMTPAddress,Alias
Listing additional attributes with the ‘Select’ command (Image credit: Petri/Michael Reinders)

Isso nos dá algumas informações um pouco mais úteis, certo? Agora, vamos obter algumas estatísticas de tamanho da caixa de correio com o comando Get-EXOMailboxStatistics. Aqui, estou executando o primeiro comando para reunir todas as caixas de correio, depois passando isso para ‘Get-EXOMailboxStatistics’ com seus atributos padrão e, em seguida, usando ‘ft’ novamente para deixar mais apresentável.

Get-EXOMailbox | Get-EXOMailboxStatistics | ft
Mailbox statistics are a cmdlet away – Get-EXOMailboxStatistics (Image credit: Petri/Michael Reinders)

Isso nos fornece uma quantidade razoável de informações sobre a contagem de itens e o tamanho da caixa de correio da nossa organização. Existem muitos outros parâmetros que você pode usar para obter atributos específicos de suas contas e caixas de correio.

Como se conectar ao Exchange Online via PowerShell com MFA?

Felizmente, não há nada de especial que você precise fazer para se conectar quando sua conta é protegida com autenticação de vários fatores (é melhor que seja!). Quando você inserir o comando e estiver usando o PowerShell 7 ou superior, verá a tela de autenticação baseada em navegador aparecer na minha captura de tela acima.

Se você estiver usando o PowerShell 5.1 ou inferior, verá a janela padrão de autenticação moderna abrir, onde você inserirá sua senha e atenderá à sua solicitação de MFA.

É possível se conectar ao PowerShell do Exchange Online em um Mac?

Há várias maneiras de instalar o PowerShell em um Mac, mas a mais direta é usar os links de download direto do site da Microsoft. A partir da versão 7.2, o PowerShell oferece suporte aos Macs com Apple Silicon.

Depois de instalar o PowerShell no seu Mac com macOS 11 Big Sur ou mais recente, você pode usar as mesmas instruções fornecidas acima para se conectar ao Exchange Online no macOS.

Benefícios adicionais de usar o Exchange Online PowerShell

O Exchange Online PowerShell é uma ferramenta valiosa para qualquer profissional de TI/administrador que deseja ter mais controle sobre seu ambiente do Exchange Online. 

Aqui estão alguns benefícios adicionais de usar o Exchange Online PowerShell:

  • Pode ser usado para automatizar processos com scripts do Powershell, o que pode economizar tempo e esforço com scripts.
  • Pode ser usado para solucionar problemas, o que pode ajudá-lo a resolver problemas mais rapidamente.
  • Pode ser usado para personalizar seu ambiente do Exchange Online, o que pode torná-lo mais eficiente e amigável ao usuário.

Se você tiver alguma dúvida ou comentário, sinta-se à vontade para deixar um comentário abaixo. Obrigado por ler!

Source:
https://petri.com/connect-to-exchange-online-powershell/