Exchange Online · Microsoft 365 · EOP · Defender for Office 365 · PowerShell · Compliance · DMARC
Exchange Online em 2026: Como Configurar, Proteger e Diagnosticar Correio para PME?
✎ Duarte Spínola | 2026-07-14
O Exchange Online é o serviço de email hospedado da Microsoft que faz parte do Microsoft 365. Para uma PME portuguesa com algumas dezenas ou centenas de utilizadores, o Exchange Online elimina a necessidade de manter servidores on-premises, mas introduz um conjunto alargado de configurações de protecção, fluxo de correio, retenção e delegação que um administrador precisa de dominar. Este artigo é o Dia 3 de uma série de seis destinada a dotar um recurso técnico com as capacidades de administração M365 necessárias para gerir um tenant com confiança.
O artigo cobre a ligação ao Exchange Online via PowerShell, a configuração de connectors e regras de transporte, a protecção anti-spam e anti-malware com Exchange Online Protection (EOP) e Defender for Office 365, as políticas anti-phishing com Safe Links e Safe Attachments, a autenticação de email com SPF, DKIM e DMARC, as retention policies e o In-Place Archive, os tipos de caixa de correio e quotas, a delegação de acesso, o message trace e o troubleshooting de entrega, e o journaling para compliance. Todos os comandos PowerShell apresentados usam o módulo ExchangeOnlineManagement v3, que é o módulo actualizado para 2026 (documentação oficial em learn.microsoft.com/en-us/exchange/exchange-online).
1. Conexão ao Exchange Online via PowerShell
A administração eficiente do Exchange Online faz-se através do PowerShell com o módulo ExchangeOnlineManagement. A interface gráfica do Exchange admin center (EAC) cobre as operações mais comuns, mas operações em massa, auditoria, automatização e configurações avançadas exigem PowerShell.
Instalação do módulo
Get-Module -ListAvailable -Name ExchangeOnlineManagement
# Instalar ou actualizar o módulo (requer PowerShell 5.1+ ou PowerShell 7)
Install-Module -Name ExchangeOnlineManagement -Force -AllowClobber
Estabelecer a conexão
Connect-ExchangeOnline -UserPrincipalName [email protected]
# Conexão com delegação de permissões (sem UI interativa, para scripts)
Connect-ExchangeOnline -UserPrincipalName [email protected] -DelegateManagement
# Desligar a sessão explicitamente (recomendado)
Disconnect-ExchangeOnline
O parâmetro -ShowProgress $true pode ser usado para ver o progresso da importação da sessão. Em ambientes com Conditional Access configurado, a conexão pode exigir MFA interativa, o que é o comportamento esperado e recomendado.
Cmdlets fundamentais para inventário
Get-Mailbox -ResultSize Unlimited | Select-Object DisplayName, PrimarySmtpAddress, RecipientTypeDetails
# Listar apenas caixas partilhadas (shared mailboxes)
Get-Mailbox -RecipientTypeDetails SharedMailbox -ResultSize Unlimited
# Ver configuração de uma mailbox específica
Get-Mailbox -Identity “[email protected]” | Format-List
# Ver estatísticas de uma mailbox (tamanho, itens, última actividade)
Get-MailboxStatistics -Identity “[email protected]”
Conexão a tenants específicos
Para administradores MSP (Managed Service Provider) ou consultores que gerem múltiplos tenants, o parâmetro -DelegatedOrganization permite conectar a um tenant cliente específico:
2. Fluxo de Email: Connectors e Regras de Transporte
O fluxo de email no Exchange Online é controlado por duas entidades principais: os connectors, que definem como o correio entra e sai do tenant, e as transport rules (regras de transporte), que aplicam lógica condicional às mensagens em trânsito.
Connectors de entrada e saída
Num cenário típico de PME, o Exchange Online envia e recebe correio directamente da Internet sem connectors adicionais. No entanto, existem cenários onde os connectors são necessários:
- Connector de entrada para receber correio de um appliance SMTP terceiro (por exemplo, um serviço de newsletter ou um sistema de facturação electrónica).
- Connector de saída para encaminhar correio para um servidor on-premises em cenários híbridos (Exchange hybrid).
- Connector parceiro para restringir comunicação a organizações específicas.
Get-InboundConnector | Format-Table Name, Enabled, SenderDomains
Get-OutboundConnector | Format-Table Name, Enabled, RecipientDomains
# Criar um connector de entrada para um parceiro específico
New-InboundConnector -Name “Parceiro Contoso” -SenderDomains contoso-parceiro.pt -RestrictDomainsToIPAddresses $true -SenderIPAddresses “192.168.1.100” -Enabled $true
Regras de transporte (Transport Rules)
As transport rules permitem aplicar acções baseadas em condições. São o equivalente das transport rules do Exchange on-premises e suportam centenas de predicados e acções.
Get-TransportRule | Select-Object Name, State, Priority, Mode
# Ver detalhes de uma regra específica
Get-TransportRule -Identity “Aviso Confidencial” | Format-List
# Criar uma regra que adiciona um aviso a emails enviados para o exterior
New-TransportRule -Name “Aviso Email Externo” `
-FromScope NotInOrganization `
-SentToScope InOrganization `
-ApplyHtmlDisclaimer “<p><strong>Aviso:</strong> Este email provém de fora da organização. Verifique o remetente antes de clicar em ligações ou abrir anexos.</p>” `
-Enabled $true
Exemplos práticos de transport rules para PME
| Cenário | Condição | Acção |
|---|---|---|
| Aviso em emails externos recebidos | FromScope: NotInOrganization |
ApplyHtmlDisclaimer com texto de aviso |
| Bloquear envio de ficheiros grandes | AttachmentSizeOver: 25MB |
RejectMessageReasonText |
| Cópia (BCC) de emails do administrador | From: [email protected] |
AddRecipientCcTo para auditoria |
| Prefixo no assunto de emails para um domínio específico | SentTo: @parceiro.pt |
PrependSubject: "[EXTERNOS] " |
As transport rules são processadas por ordem de prioridade (0 é a mais alta). Quando uma regra tem StopRuleProcessing activado, nenhuma regra posterior é avaliada para essa mensagem.
3. Protecção Anti-Spam e Anti-Malware com EOP e Defender for Office 365
O Exchange Online Protection (EOP) está incluído em todas as subscrições Exchange Online e fornece protecção anti-spam e anti-malware na camada de rede. O Microsoft Defender for Office 365 Plano 1 e 2 adiciona capacidades avançadas como Safe Links, Safe Attachments, anti-phishing com inteligência de representação (impersonation), e investigação automatizada.
Diferenças entre EOP e Defender for Office 365
| Funcionalidade | EOP (incluído) | Defender for O365 P1 | Defender for O365 P2 |
|---|---|---|---|
| Anti-spam base | Sim | Sim | Sim |
| Anti-malware | Sim | Sim | Sim |
| Safe Links | Não | Sim | Sim |
| Safe Attachments | Não | Sim | Sim |
| Anti-phishing com impersonation | Não | Sim | Sim |
| Threat Explorer / Real-time detections | Não | Limitado | Sim |
| Investigação e resposta automatizada (AIR) | Não | Não | Sim |
Configuração da política anti-spam
A política anti-spam padrão (Default) aplica-se a todos os destinatários. Recomenda-se criar políticas adicionais para grupos específicos, como utilizadores de alto risco (executivos, financeiro).
Get-HostedContentFilterPolicy | Format-Table Name, HighConfidenceSpamAction, SpamAction
# Ver as regras anti-spam (que associam políticas a destinatários)
Get-HostedContentFilterRule | Format-Table Name, HostedContentFilterPolicy, State
# Configurar a política padrão para mover spam de alta confiança para quarentena
Set-HostedContentFilterPolicy -Identity “Default” `
-HighConfidenceSpamAction Quarantine `
-SpamAction MoveToJmf `
-BulkSpamAction MoveToJmf `
-MarkAsSpamBulkMail $true
Configuração da política anti-malware
Get-MalwareFilterPolicy | Format-Table Name, EnableFileFilter, Action
# Configurar a política padrão para bloquear ficheiros executáveis e notificar o administrador
Set-MalwareFilterPolicy -Identity “Default” `
-EnableFileFilter $true `
-FileTypes “exe,dll,js,vbs,ps1,bat,cmd,scr,com,hta” `
-EnableExternalSenderNotifications $true `
-EnableInternalSenderNotifications $false `
-ExternalSenderAdminAddress “[email protected]”
Verificação e quarentena
As mensagens em quarentena podem ser geridas via EAC ou PowerShell. Por defeito, as mensagens ficam em quarentena durante 30 dias (configurável até 30 dias no máximo).
Get-QuarantineMessage | Select-Object MessageId, SenderAddress, Subject, ReceivedTime, QuarantineReason
# Libertar uma mensagem da quarentena
Get-QuarantineMessage -Identity <MessageIdentity> | Release-QuarantineMessage
4. Políticas Anti-Phishing, Safe Links e Safe Attachments
As políticas anti-phishing, Safe Links e Safe Attachments são funcionalidades do Defender for Office 365. Sem esta licença, estas configurações não estão disponíveis. Para uma PME, o Plano 1 é o mínimo recomendado para protecção contra phishing com base em representação (impersonation).
Política anti-phishing
A política anti-phishing do Defender for Office 365 distingue-se da anti-spam do EOP por incluir detecção de impersonation de domínios e utilizadores, bem como intelligence de caixas de correio (mailbox intelligence).
Get-AntiPhishPolicy | Format-Table Name, Enabled, EnableTargetedUserProtection, EnableTargetedDomainProtection
# Criar uma política anti-phishing para utilizadores sensíveis
New-AntiPhishPolicy -Name “Executivos – Anti-Phishing” `
-Enabled $true `
-EnableTargetedUserProtection $true `
-TargetedUsersToProtect “[email protected],[email protected]” `
-EnableTargetedDomainProtection $true `
-TargetedDomainsToProtect “contoso.pt” `
-EnableMailboxIntelligence $true `
-EnableMailboxIntelligenceProtection $true `
-EnableOrganizationDomainsProtection $true `
-TargetedUserProtectionAction Quarantine `
-TargetedDomainProtectionAction Quarantine `
-MailboxIntelligenceProtectionAction MoveToJmf
# Criar a regra que associa a política ao grupo de executivos
New-AntiPhishRule -Name “Regra Executivos” `
-AntiPhishPolicy “Executivos – Anti-Phishing” `
-SentToMemberOf “[email protected]”
Safe Links
O Safe Links reescreve os URLs das mensagens para que o tráfego passe pelos servidores da Microsoft, que verificam a reputação do destino em tempo real.
Get-SafeLinksPolicy | Format-Table Name, IsEnabled, ScanUrls, DeliverMessageIfScanComplete
# Criar política Safe Links para toda a organização
New-SafeLinksPolicy -Name “Safe Links – Global” `
-IsEnabled $true `
-ScanUrls $true `
-EnableForInternalSenders $true `
-DeliverMessageIfScanComplete $true `
-DoNotRewriteUrls “contoso.pt/*,intranet.contoso.pt/*”
# Criar a regra que aplica a política a todos os destinatários
New-SafeLinksRule -Name “Safe Links Global” `
-SafeLinksPolicy “Safe Links – Global” `
-RecipientDomainIs “contoso.pt”
O parâmetro -DoNotRewriteUrls permite excluir URLs internos da reescrita, o que é importante para evitar problemas com aplicações internas.
Safe Attachments
O Safe Attachments abre anexos em ambiente virtual (sandbox) para detectar comportamento malicioso antes de entregar a mensagem.
Get-SafeAttachmentPolicy | Format-Table Name, Enable, Action
# Criar política Safe Attachments com modo dinâmico
New-SafeAttachmentPolicy -Name “Safe Attachments – Global” `
-Enable $true `
-Action DynamicDelivery `
-Redirect $false
# Criar a regra correspondente
New-SafeAttachmentRule -Name “Safe Attachments Global” `
-SafeAttachmentPolicy “Safe Attachments – Global” `
-RecipientDomainIs “contoso.pt”
O DynamicDelivery entrega a mensagem imediatamente, mantendo o anexo em análise, e substitui-o por um marcador. Assim que a análise termina, o anexo é entregue ou removido conforme o resultado. Esta abordagem evita atrasos perceptíveis na entrega de email.
5. Autenticação de Email: SPF, DKIM e DMARC
A autenticação de email é fundamental para garantir que as mensagens enviadas do domínio da organização são reconhecidas como legítimas pelos servidores de destino e para impedir que terceiros enviem email fraudulento em nome da organização (spoofing). Os três protocolos — SPF, DKIM e DMARC — trabalham em conjunto.
SPF (Sender Policy Framework)
O SPF é um registo TXT no DNS que indica quais os endereços IP autorizados a enviar email em nome do domínio.
O -all indica falha dura (hard fail). Recomenda-se começar com ~all (soft fail) durante a fase de validação e mudar para -all após confirmar que nenhuma fonte legítima de email está a ser bloqueada.
DKIM (DomainKeys Identified Mail)
O DKIM assina criptograficamente as mensagens enviadas, permitindo ao destinatário verificar a integridade e autenticidade. No Exchange Online, o DKIM é activado por domínio.
Get-DkimSigningConfig -Identity contoso.pt | Format-List
# Activar DKIM para um domínio
Set-DkimSigningConfig -Identity contoso.pt -Enabled $true
# Rotar as chaves DKIM (recomendado periodicamente)
Rotate-DkimSigningConfig -Identity contoso.pt -KeySize 2048
Antes de activar o DKIM, é necessário publicar os registos CNAME indicados no EAC (Exchange admin center > Protection > DKIM) no DNS do domínio. A Microsoft fornece os valores exactos dos registos CNAME no portal.
DMARC (Domain-based Message Authentication, Reporting, and Conformance)
O DMARC unifica SPF e DKIM e especifica a política a aplicar quando a autenticação falha. O registo DMARC deve ser publicado no DNS e alinhado com o domínio de envio.
Fases recomendadas de implementação do DMARC:
p=none— Modo de monitorização. Recolher relatórios RUA sem afectar a entrega. Manter durante 2-4 semanas.p=quarantine— As mensagens que falham a autenticação são enviadas para a pasta de spam do destinatário. Manter durante 2-4 semanas após confirmar quep=nonenão revelou fontes legítimas.p=reject— As mensagens que falham a autenticação são rejeitadas. É o modo final e recomendado.
O endereço rua recebe relatórios agregados (diários) e o ruf recebe relatórios forenses (por mensagem). Os relatórios RUA são essenciais para identificar fontes de email legítimas que ainda não estão cobertas pelo SPF ou DKIM antes de avançar para p=reject.
6. Retention Policies, MRM e In-Place Archive
O Exchange Online oferece dois mecanismos distintos para retenção e arquivo: as retention policies (geridas via Microsoft Purview compliance portal) e o Messaging Records Management (MRM) (gerido via Exchange Online PowerShell ou EAC).
Retention policies (Microsoft Purview)
As retention policies do Purview aplicam-se a caixas de correio Exchange, mas também a SharePoint, OneDrive e Teams. São o mecanismo recomendado para 2026, especialmente se a organização precisa de cumprir requisitos regulatórios (RGPD, retention legal).
Get-RetentionCompliancePolicy | Format-Table Name, ExchangeLocation
# Aplicar uma retention policy a uma mailbox específica
Set-RetentionCompliancePolicy -Identity “Retenção 7 Anos – Financeiro” -AddExchangeLocation “[email protected]”
A activação de In-Place Archive é necessária para que as retention tags que movem itens para o arquivo funcionem. A documentação oficial está em learn.microsoft.com/en-us/purview/enable-archive-mailboxes.
In-Place Archive e auto-expanding archive
O In-Place Archive é uma caixa de correio adicional associada à mailbox principal do utilizador. Permite mover itens antigos para o arquivo, libertando espaço na caixa principal.
Get-Mailbox -Identity “[email protected]” | Select-Object DisplayName, ArchiveStatus, ArchiveDatabase
# Activar o In-Place Archive
Enable-Mailbox -Identity “[email protected]” -Archive
# Activar auto-expanding archive para todo o tenant
Set-OrganizationConfig -AutoExpandingArchive
# Activar auto-expanding archive para um utilizador específico
Enable-Mailbox -Identity “[email protected]” -AutoExpandingArchive
O auto-expanding archive permite que o arquivo cresça automaticamente além do limite inicial de 50 GB (para licenças Exchange Online Plan 2), adicionando até 1,5 TB de armazenamento de arquivo. Esta funcionalidade está incluída em Exchange Online Plan 2 e Exchange Online Archiving.
MRM (Messaging Records Management)
O MRM utiliza retention tags aplicadas a pastas e itens individuais. É gerido via PowerShell do Exchange Online.
Get-RetentionPolicy | Format-Table Name, RetentionPolicyTag
# Ver as retention tags disponíveis
Get-RetentionPolicyTag | Format-Table Name, Type, AgeLimitForRetention, RetentionAction
# Aplicar uma retention policy de MRM a uma mailbox
Set-Mailbox -Identity “[email protected]” -RetentionPolicy “Default MRM Policy”
# Forçar o processamento do MRM (Managed Folder Assistant) numa mailbox
Start-ManagedFolderAssistant -Identity “[email protected]”
O Start-ManagedFolderAssistant força a aplicação imediata das retention tags. Sem este comando, o Managed Folder Assistant processa as mailboxes automaticamente num ciclo de 7 dias. A documentação oficial está em learn.microsoft.com/en-us/powershell/module/exchange/start-managedfolderassistant.
Diferenças entre Retention Policies (Purview) e MRM
| Aspecto | Retention Policies (Purview) | MRM (Exchange Online) |
|---|---|---|
| Portal de gestão | Microsoft Purview | Exchange admin center / PowerShell |
| Âmbito | Exchange + SharePoint + OneDrive + Teams | Apenas Exchange |
| Retenção legal (litigation hold) | Sim | Não |
| Aplicação automática baseada em condições | Sim (sensitive info types, queries) | Não (baseada em pastas/tags) |
| Recomendação 2026 | Preferencial para novos deployments | Legado, ainda suportado |
7. Tipos de Mailbox, Quotas e Delegação de Acesso
O Exchange Online suporta vários tipos de caixa de correio, cada um com quotas e casos de uso distintos. Compreender as diferenças é essencial para arquitectar correctamente o ambiente.
Tipos de caixa de correio
| Tipo | Descrição | Licença necessária | Quota padrão (2026) |
|---|---|---|---|
| User Mailbox | Caixa de correio individual atribuída a um utilizador | Exchange Online Plan 1 ou Plan 2 | 50 GB (Plan 1) / 100 GB (Plan 2) |
| Shared Mailbox | Caixa partilhada acedida por múltiplos utilizadores | Sem licença se < 50 GB | 50 GB (sem licença) / 100 GB (com Plan 2) |
| Resource Mailbox (Room) | Caixa para salas de reunião | Sem licença | 50 GB |
| Resource Mailbox (Equipment) | Caixa para equipamento (viaturas, projectores) | Sem licença | 50 GB |
Criação e configuração de mailboxes
New-Mailbox -Shared -Name “Suporte Geral” -DisplayName “Suporte Geral” -Alias “suporte” -PrimarySmtpAddress “[email protected]”
# Atribuir acesso a uma shared mailbox
Add-MailboxPermission -Identity “[email protected]” -User “[email protected]” -AccessRights FullAccess -InheritanceType All
# Atribar permissão Send As
Add-RecipientPermission -Identity “[email protected]” -Trustee “[email protected]” -AccessRights SendAs -Confirm:$false
# Criar uma resource mailbox (sala de reunião)
New-Mailbox -Room -Name “Sala de Reunioes 1” -DisplayName “Sala de Reuniões 1” -PrimarySmtpAddress “[email protected]”
# Configurar uma sala para aceitar pedidos automaticamente e processar reuniões recorrentes
Set-CalendarProcessing -Identity “[email protected]” -AutomateProcessing AutoAccept -ProcessExternalMeetingMessages $true
Delegação de acesso: Full Access, Send As, Send on Behalf
Existem três níveis de delegação de acesso, cada um com um comportamento distinto:
| Tipo de permissão | Efeito | Cmdlet |
|---|---|---|
| Full Access | O delegado acede a toda a mailbox (ler, apagar, mover) | Add-MailboxPermission |
| Send As | O delegado envia como se fosse o dono da mailbox (o destinatário não vê diferença) | Add-RecipientPermission |
| Send on Behalf | O delegado envia em nome do dono (o destinatário vê “De: João em nome de Maria”) | Set-Mailbox -GrantSendOnBehalfTo |
Add-MailboxPermission -Identity “[email protected]” -User “[email protected]” -AccessRights FullAccess -InheritanceType All
# Send As (enviar como se fosse o dono)
Add-RecipientPermission -Identity “[email protected]” -Trustee “[email protected]” -AccessRights SendAs -Confirm:$false
# Send on Behalf (enviar em nome de)
Set-Mailbox -Identity “[email protected]” -GrantSendOnBehalfTo “[email protected]”
# Remover permissões
Remove-MailboxPermission -Identity “[email protected]” -User “[email protected]” -AccessRights FullAccess -InheritanceType All
Remove-RecipientPermission -Identity “[email protected]” -Trustee “[email protected]” -AccessRights SendAs -Confirm:$false
Quando se atribui Full Access, o Outlook pode configurar automaticamente a mailbox adicional via AutoMapping. Para desactivar o AutoMapping (útil quando há muitas shared mailboxes e o Outlook fica lento), adicionar -AutoMapping $false:
Configuração de quotas
Nas shared mailboxes sem licença, a quota é de 50 GB. Quando se aproxima do limite, é necessário licenciar a mailbox com Exchange Online Plan 2 ou aplicar uma licença Exchange Online Archiving para activar o In-Place Archive.
Get-MailboxStatistics -Identity “[email protected]” | Select-Object TotalItemSize, StorageLimitStatus, DatabaseProhibitSendReceiveQuota
# Ver a quota de envio/receba configurada
Get-Mailbox -Identity “[email protected]” | Select-Object ProhibitSendQuota, ProhibitSendReceiveQuota, IssueWarningQuota
O StorageLimitStatus indica o estado actual: UnderLimit, IssueWarning, ProhibitSend, ou MailboxDisabled.
8. Message Trace e Troubleshooting de Entrega
O message trace é a ferramenta principal para diagnosticar problemas de entrega de email no Exchange Online. Permite rastrear mensagens enviadas e recebidas nos últimos 10 dias (90 dias com o relatório histórico estendido).
Message trace via PowerShell
Get-MessageTrace -SenderAddress “[email protected]” -StartDate (Get-Date).AddHours(-24) -EndDate (Get-Date) | Select-Object MessageId, RecipientAddress, Subject, Status, EventTime
# Rastrear mensagens recebidas por um destinatário específico
Get-MessageTrace -RecipientAddress “[email protected]” -StartDate (Get-Date).AddHours(-24) -EndDate (Get-Date)
# Rastrear uma mensagem específica pelo Message-ID
Get-MessageTrace -MessageId “<[email protected]>” -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date)
Interpretar os resultados do message trace
O campo Status do Get-MessageTrace pode apresentar os seguintes valores:
| Status | Significado | Acção |
|---|---|---|
Delivered |
A mensagem foi entregue com sucesso na mailbox do destinatário | Nenhuma acção necessária |
FilteredAsSpam |
A mensagem foi filtrada como spam pelo EOP | Verificar a política anti-spam ou libertar da quarentena |
Quarantined |
A mensagem foi colocada em quarentena | Usar Get-QuarantineMessage para revisão |
Failed |
A entrega falhou (rejeição do destinatário, erro de conector) | Verificar o NDR (Non-Delivery Report) |
Pending |
A mensagem está em processo de entrega | Aguardar; verificar novamente em alguns minutos |
Expanded |
A mensagem foi expandida para um grupo de distribuição | Verificar os membros do grupo |
Tabela de NDRs comuns
| Código NDR | Causa | Resolução |
|---|---|---|
5.1.1 |
Endereço de destinatário inválido ou inexistente | Verificar a ortografia do endereço |
5.1.7 |
Remetente com endereço mal formatado | Verificar o endereço SMTP do remetente |
5.2.2 |
Caixa de correio do destinatário cheia | Aumentar quota ou arquivar itens |
5.4.1 |
Loop de encaminhamento detectado | Verificar connectors e regras de transporte |
5.7.1 |
Autenticação SMTP falhou ou acesso negado | Verificar conectores e SPF/DKIM/DMARC do remetente |
5.7.133 |
Tenant não permite envio externo | Verificar política de outbound spam |
Troubleshooting de entrega passo a passo
Get-MessageTrace -RecipientAddress “[email protected]” -StartDate (Get-Date).AddHours(-48) -EndDate (Get-Date)
# 2. Obter detalhes do evento de entrega (relatório estendido)
$trace = Get-MessageTrace -RecipientAddress “[email protected]” -StartDate (Get-Date).AddHours(-48) -EndDate (Get-Date)
$trace | ForEach-Object { Get-MessageTraceDetail -MessageTraceId $_.MessageTraceId -RecipientAddress $_.RecipientAddress -SenderAddress $_.SenderAddress }
# 3. Verificar se a mensagem está em quarentena
Get-QuarantineMessage -SenderAddress “[email protected]” | Select-Object Subject, ReceivedTime, QuarantineReason
# 4. Verificar as regras de transporte que possam ter afectado a mensagem
Get-TransportRule | Where-Object { $_.State -eq “Enabled” } | Format-Table Name, Priority
O Get-MessageTraceDetail fornece um registo granular de cada passo que a mensagem percorreu dentro do Exchange Online, incluindo os agentes de transporte que processaram a mensagem.
9. Journaling e Compliance
O journaling é o processo de encaminhar cópias de mensagens (em formato envelope) para uma mailbox de arquivo dedicada, com o objectivo de cumprir requisitos regulatórios ou de retenção legal. No Exchange Online, o journaling é configurado via regras de journaling.
Configuração de journaling
Get-JournalRule | Format-Table Name, Enabled, JournalEmailAddress, Scope
# Criar uma regra de journaling para todo o correio interno e externo
New-JournalRule -Name “Compliance – Todos” -JournalEmailAddress “[email protected]” -Scope Global -Enabled $true
# Criar uma regra de journaling apenas para um destinatário específico
New-JournalRule -Name “Compliance – Financeiro” -Recipient “[email protected]” -JournalEmailAddress “[email protected]” -Enabled $true
Considerações sobre a journal mailbox
A journal mailbox deve ser uma mailbox dedicada, exclusivamente para receber os relatórios de journaling. Recomendações:
- A journal mailbox não deve ser acedida por utilizadores finais.
- Deve ter quota suficiente para o volume de mensagens ou ser arquivada regularmente.
- Para volumes elevados, a Microsoft recomenda o uso de um Journaling Premium (requer licença Exchange Online Archiving) ou um serviço de journaling terceiro.
- Em PME com requisitos de compliance moderados, uma mailbox dedicada com In-Place Archive e auto-expanding archive é geralmente suficiente.
Litigation hold e In-Place hold
Para preservar todo o conteúdo de uma mailbox (incluindo itens eliminados) para fins legais, o litigation hold é a opção mais directa.
Set-Mailbox -Identity “[email protected]” -LitigationHoldEnabled $true -LitigationHoldDuration 2555
# Verificar o estado do litigation hold
Get-Mailbox -Identity “[email protected]” | Select-Object DisplayName, LitigationHoldEnabled, LitigationHoldDuration
O LitigationHoldDuration é expresso em dias. O valor 2555 corresponde a aproximadamente 7 anos, que é o período de retenção comum para requisitos de compliance financeiro. Quando o litigation hold está activo, os itens eliminados pelos utilizadores são preservados na pasta Recoverable Items e não são removidos mesmo que o período de retenção da deleted item retention expire.
Compliance search e export
Para auditorias ou investigações, o Microsoft Purview compliance portal oferece ferramentas de content search que permitem pesquisar em todas as mailboxes do tenant.
# Criar uma pesquisa de compliance
New-ComplianceSearch -Name “Auditoria Financeiro 2026” -ExchangeLocation All -ContentMatchQuery ‘(contabilidade OR factura) AND (2026-01-01..2026-12-31)’
# Iniciar a pesquisa
Start-ComplianceSearch -Identity “Auditoria Financeiro 2026”
# Verificar o estado
Get-ComplianceSearch -Identity “Auditoria Financeiro 2026” | Format-List Name, Status, Items, Size
Checklist Pré-Produção
Antes de considerar o Exchange Online configurado e pronto para produção, verifique todos os pontos abaixo:
- [ ] Módulo ExchangeOnlineManagement instalado e actualizado (
Get-Module -ListAvailable ExchangeOnlineManagement) - [ ] Conexão testada com
Connect-ExchangeOnlinee MFA funcional - [ ] Connectors revistos — nenhum connector órfão ou inactivo (
Get-InboundConnector,Get-OutboundConnector) - [ ] Transport rules testadas com mensagens de prova (
Get-TransportRule) - [ ] Política anti-spam configurada com quarentena para spam de alta confiança (
Get-HostedContentFilterPolicy) - [ ] Política anti-malware com filtro de ficheiros activado (
Get-MalwareFilterPolicy) - [ ] Defender for Office 365 — Safe Links e Safe Attachments activados se a licença existir (
Get-SafeLinksPolicy,Get-SafeAttachmentPolicy) - [ ] Política anti-phishing com impersonation configurada para executivos e domínios da organização (
Get-AntiPhishPolicy) - [ ] SPF publicado no DNS com
include:spf.protection.outlook.com - [ ] DKIM activado para todos os domínios verificados (
Get-DkimSigningConfig) - [ ] DMARC publicado com
p=quarantineno mínimo (após fase dep=none) - [ ] In-Place Archive activado para utilizadores com licença Plan 2 ou Archiving (
Get-Mailbox | Select-Object DisplayName, ArchiveStatus) - [ ] Auto-expanding archive activado ao nível do tenant se aplicável (
Set-OrganizationConfig -AutoExpandingArchive) - [ ] Retention policies do Purview aplicadas conforme requisitos de compliance
- [ ] Tipos de mailbox correctos — shared mailboxes sem licença abaixo de 50 GB
- [ ] Delegações de acesso documentadas e revistas (Full Access, Send As, Send on Behalf)
- [ ] Journaling configurado se exigido por requisitos regulatórios (
Get-JournalRule) - [ ] Message trace testado para confirmar rastreabilidade (
Get-MessageTrace) - [ ] Litigation hold aplicado a mailboxes que requerem preservação legal
- [ ] Alertas de quarentena configurados para notificar administradores (
Get-QuarantineTag) - [ ] Backup de configuração — exportar todas as políticas, regras e connectors para documentação
Artigos Relacionados
- Dia 1 — M365: Admin Centre, Funções e Licenças em 2026
- Dia 2 — M365: Gestão de Utilizadores, Grupos e Mailboxes em 2026
- Exchange Online Helpdesk: Guia Completo de Diagnóstico
- Migração PST para Exchange Online: Guia Passo a Passo
- Mailbox Não Faz Arquivo Automático: Causa e Resolução
- Outlook: Guia Completo de Produtividade, Configuração e Erros
