O PowerShell do Exchange Online é uma ferramenta de linha de comando que permite gerenciar suas caixas de correio e usuários do Exchange Online. Pode ser usada 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 PowerShell do Exchange Online. 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 PowerShell do Exchange Online
Como Profissional de TI, suas funções administrativas do Microsoft 365 provavelmente abrangem o Exchange Online. Embora a maioria dessas tarefas possa ser realizada usando o site do Centro de Administração do Exchange, existem grandes eficiências disponíveis via linha de comando, especialmente para scripts!
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.
Existiram várias versões desses módulos ao longo dos anos. A versão 2.0.5 e anteriores são referidas como o módulo PowerShell do Exchange Online V2 (EXO V2). A versão 3.0.0 e posteriores são conhecidas 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 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.
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!
- O primeiro passo que devemos seguir é definir nossa política de execução. Precisamos alterar a configuração da política com o cmdlet Set-ExecutionPolicy:
Set-ExecutionPolicy RemoteSigned
- Em seguida, execute o comando Get-Module para verificar quais módulos estão instalados.
Get-Module

- 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

Nota: Como estou usando um ‘repositório não confiável’, preciso especificar que desejo baixar isso do repositório ‘PSGallery’. 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.
- 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

Aqui está, confirmamos que o módulo está pronto para uso!
Conectando ao seu locatário do Exchange Online com ‘Connect-ExchangeOnline’
O último passo para completar a obtenção das informações do Exchange Online do seu locatário é estabelecer a conexão usando credenciais que permitam tal acesso. Existem vários níveis de função no Azure que permitirão isso. Para esses fins, estarei utilizando minha função de Administrador Global como parte do meu locatário de Desenvolvedor. Esta função de conta, aliás, me concede acesso total ao Azure AD e a todos os serviços do Microsoft 365 via PowerShell.
- Vamos usar o cmdlet Connect-ExchangeOnline abaixo:
Connect-ExchangeOnline -userprincipalname

- Ele abriu uma janela de autenticação do navegador solicitando meu nome de usuário e senha. É aqui que posso fazer login com minha conta de Administrador Global.

Excelente! Você receberá algum 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. Irei explicar alguns comandos básicos/essenciais com os quais você pode começar em seguida.
Nota: Se sempre estivermos pensando em segurança, é melhor encerrar sua sessão depois de terminar. Desconectar sua sessão é possível executando o seguinte comando antes de fechar o shell.
Disconnect-ExchangeOnline
Fácil como torta!
Comandos básicos do PowerShell do Exchange Online
Depois de se conectar 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 e 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 na Petri que podem ajudá-lo.
Em vez de usar o cmdlet ‘legado’ Get-Mailbox (programado para descontinuação), vamos mostrar os comandos mais recentes no EXO V3. Aqui, vou usar o comando Get-EXOMailbox e então ‘pipe’ (|) para o switch ‘ft’ (o mesmo que ‘Format-Table’). Usando o switch ‘Autosize’, os larguras das colunas são autoformatadas para corresponder à janela do console.
Get-EXOMailbox | ft -Autosize

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 dar mais algumas informações.
Get-EXOMailbox | Select DisplayName,PrimarySMTPAddress,Alias

Isso nos dá algumas informações ligeiramente 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, em seguida, encaminhando isso para ‘Get-EXOMailboxStatistics’ com seus atributos padrão, e usando ‘ft’ novamente para deixá-lo bonito.
Get-EXOMailbox | Get-EXOMailboxStatistics | ft

Isso nos fornece uma quantidade decente 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 conectar-se ao Exchange Online via PowerShell com MFA?
Felizmente, não há nada especial que você precise fazer para se conectar quando sua conta está protegida com autenticação multifator (melhor ser!). Quando você digita o comando e está usando o PowerShell 7 ou superior, verá a tela de autenticação baseada na web aparecer na minha captura de tela acima.
Se você estiver usando o PowerShell 5.1 ou inferior, verá a janela de autenticação moderna padrão abrir onde você inserirá sua senha e cumprirá seu pedido de MFA.
Você pode se conectar ao Exchange Online PowerShell em um Mac?
Existem várias maneiras de instalar o PowerShell em um Mac, mas a mais simples é usar os links de download diretos do site da Microsoft. A partir da versão 7.2, o PowerShell oferece suporte a 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.
Vantagens adicionais de usar o Exchange Online PowerShell
O Exchange Online PowerShell é uma ferramenta valiosa para qualquer profissional de TI/administrador que queira ter mais controle sobre o ambiente do Exchange Online.
Aqui estão algumas vantagens adicionais de usar o Exchange Online PowerShell:
- Ele pode ser usado para automatizar processos com scripts do Powershell, o que pode economizar tempo e esforço com scripts.
- Ele pode ser usado para solucionar problemas, o que pode ajudar a resolver problemas mais rapidamente.
- Ele pode ser usado para personalizar seu ambiente do Exchange Online, o que pode torná-lo mais eficiente e amigável ao usuário.
Se 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/