Converter Caixa de Correio de Utilizador em Shared Mailbox no Microsoft 365: Guia Prático para PME
Microsoft 365 · Exchange Online · Shared Mailbox · PowerShell · Licenciamento · PME | ✎ Duarte Spínola | 2026-06-27
Microsoft 365 · Exchange Online · Shared Mailbox · PowerShell · Licenciamento · PME
Quando um colaborador sai da empresa, a PME precisa de decidir o que fazer com a sua caixa de correio. Apagar é raramente a resposta correcta: há clientes que escrevem para esse endereço, facturas por pagar, contactos úteis e obrigações de retenção de email. A solução recomendada pela Microsoft é converter a caixa de correio de utilizador numa shared mailbox — uma caixa partilhada que não requer licença (até 50 GB), mantém todo o histórico, e pode ser acedida por vários colaboradores. Este guia percorre os pré-requisitos, os passos de conversão via Admin Center e PowerShell, a gestão de permissões, o problema do automapping, e os erros mais comuns. As referências oficiais estão em Convert a user mailbox to a shared mailbox. Para gestão de tickets associada, consultar o Registar e Documentar Tickets Correctamente.
Neste artigo
- O Que É uma Shared Mailbox
- Pré-Requisitos e Limites
- Converter via Microsoft 365 Admin Center
- Converter via PowerShell Exchange Online
- Atribuir Permissões de Acesso
- Automapping: O Problema Silencioso
- Gestão de Licença Após Conversão
- Reencaminhamento de Email
- Converter Múltiplas Caixas em Lote
- Auditoria de Shared Mailboxes
- Erros Comuns na Conversão
- Checklist de Conversão
1. O Que É uma Shared Mailbox
Uma shared mailbox no Microsoft 365 é uma caixa de correio que não pertence a um utilizador individual — é partilhada por um conjunto de utilizadores designados. Não tem password própria; o acesso é concedido via permissões FullAccess e SendAs. A caixa aparece automaticamente no Outlook dos utilizadores com permissão (se automapping estiver ativo). A documentação oficial de criação e gestão está em Create a shared mailbox e em About shared mailboxes.
ℹ️ Nota: Uma shared mailbox até 50 GB não requer licença. Acima de 50 GB, é necessária uma licença Exchange Online Plan 2 ou uma licença de arquivo. Em PME com poucas saídas, o limite de 50 GB é geralmente suficiente — uma caixa com 3 anos de email raramente excede 30 GB.
2. Pré-Requisitos e Limites
Antes de converter, verificar os seguintes pré-requisitos e limites:
| Requisito / Limite | Valor | Nota |
|---|---|---|
| Tamanho máximo sem licença | 50 GB | Acima disso, atribuir licença Exchange Plan 2 |
| Conta do utilizador | Deve existir e estar ativa ou desactivada (não eliminada) | Se eliminada, restaurar dentro de 30 dias |
| Permissões necessárias | Global Admin ou Exchange Admin | Para PowerShell, conectar ao Exchange Online |
| Plano Microsoft 365 | Qualquer plano com Exchange Online | Business Basic, Business Standard, E3, etc. |
| Limite de shared mailboxes por tenant | 1000 (default) | Suficiente para qualquer PME |
| Archive mailbox | Não suportado sem licença | Se o utilizador tinha arquivo, manter licença |
⚠️ Atenção: Se o utilizador tinha In-Place Hold ou Litigation Hold ativos (retenção legal), a conversão para shared mailbox mantém o hold, mas é necessário garantir que a licença não é removida — holds exigem Exchange Online Plan 2. Em PME sem obrigações legais de retenção, isto raramente se aplica, mas verificar antes.
3. Converter via Microsoft 365 Admin Center
A conversão via interface web é o método mais simples para uma única caixa:
- Aceder ao Microsoft 365 Admin Center
- Ir a Users → Active users
- Seleccionar o utilizador cuja caixa vai ser convertida
- No painel lateral, ir a Mail tab
- Em More actions, seleccionar Convert to shared mailbox
- Confirmar a conversão
- Remover a licença do utilizador (se aplicável)
- Bloquear o sign-in do utilizador
💡 Dica
Após a conversão, a conta do utilizador continua a existir mas o tipo de caixa muda de UserMailbox para SharedMailbox. A conta pode (e deve) ser desactivada para sign-in, mas não eliminada — a eliminação apaga a caixa após 30 dias.
4. Converter via PowerShell Exchange Online
Para conversões em lote ou automatizadas, o PowerShell é mais eficiente. A ligação ao Exchange Online usa o módulo ExchangeOnlineManagement:
Install-Module -Name ExchangeOnlineManagement -Force -AllowClobber
# Ligar ao Exchange Online
Connect-ExchangeOnline
# Verificar tipo de caixa actual
Get-Mailbox -Identity “[email protected]” | Select-Object DisplayName, RecipientTypeDetails, UserPrincipalName
# Converter para shared mailbox
Set-Mailbox -Identity “[email protected]” -Type Shared
# Verificar conversão
Get-Mailbox -Identity “[email protected]” | Select-Object DisplayName, RecipientTypeDetails
# Output esperado: RecipientTypeDetails = SharedMailbox
A documentação do cmdlet Set-Mailbox está em Set-Mailbox e do Get-Mailbox em Get-Mailbox. Para ligação ao Exchange Online, consultar Connect-ExchangeOnline. Para gestão de permissões, consultar Get-MailboxPermission e Remove-MailboxPermission. Para migração Google Workspace para Microsoft 365, ver o BitLocker + Entra ID Join. Para configuração de SMTP relay em ambiente híbrido, consultar o Diagnóstico de Conectividade Windows Server.
ℹ️ Nota: O parâmetro -Type Shared converte a caixa sem perda de dados. Todo o email, calendário, contactos e regras permanecem intactos. A conversão é quase instantânea (menos de 1 minuto).
5. Atribuir Permissões de Acesso
Após a conversão, é necessário atribuir permissões a quem precisa de aceder à caixa partilhada:
Add-MailboxPermission -Identity “[email protected]” `
-User “[email protected]” `
-AccessRights FullAccess -InheritanceType All
# Atribuir SendAs (poder enviar como este endereço)
Add-RecipientPermission -Identity “[email protected]” `
-Trustee “[email protected]” `
-AccessRights SendAs -Confirm:$false
# Verificar permissões atribuídas
Get-MailboxPermission -Identity “[email protected]” |
Where-Object { $_.User -notlike “NT AUTHORITY*” -and $_.User -notlike “S-1-5*” } |
Select-Object User, AccessRights
Get-RecipientPermission -Identity “[email protected]” |
Where-Object { $_.Trustee -notlike “NT AUTHORITY*” } |
Select-Object Trustee, AccessRights
| Permissão | O que permite | Cmdlet |
|---|---|---|
| FullAccess | Ler, apagar, mover emails; abrir a caixa no Outlook | Add-MailboxPermission |
| SendAs | Enviar emails como sendo deste endereço | Add-RecipientPermission |
| SendOnBehalf | Enviar “em nome de” (o destinatário vê “em nome de”) | Set-Mailbox -GrantSendOnBehalfTo |
⚠️ Atenção: A permissão SendAs é concedida via Add-RecipientPermission, não Add-MailboxPermission. Confundir os dois é um erro comum. A permissão FullAccess não permite enviar como — apenas ler. Para envio, atribuir SendAs explicitamente.
6. Automapping: O Problema Silencioso
O automapping é a funcionalidade que faz a shared mailbox aparecer automaticamente no Outlook dos utilizadores com permissão FullAccess. Por defeito, está ativo. Na maioria dos casos é útil, mas pode causar problemas de performance quando uma caixa é atribuída a muitos utilizadores (a caixa descarrega para todos os Outlooks) ou quando um utilizador tem acesso a dezenas de shared mailboxes (o Outlook fica lento a abrir).
Add-MailboxPermission -Identity “[email protected]” `
-User “[email protected]” `
-AccessRights FullAccess -InheritanceType All `
-AutoMapping $false
# Remover automapping de uma permissão existente (requires remove + re-add)
Remove-MailboxPermission -Identity “[email protected]” `
-User “[email protected]” `
-AccessRights FullAccess -Confirm:$false
Add-MailboxPermission -Identity “[email protected]” `
-User “[email protected]” `
-AccessRights FullAccess -InheritanceType All `
-AutoMapping $false
💡 Dica
Para PME onde uma shared mailbox é usada por mais de 5 pessoas, desativar automapping e instruir os utilizadores a adicionar a caixa manualmente no Outlook (File → Account Settings → Change → More Settings → Advanced → Add). Isto evita sobrecarga de descarregamento e permite a cada utilizador decidir se quer a caixa visível.
ℹ️ Nota: O Outlook para iOS e Android tem integração nativa com shared mailboxes. Para detalhes, consultar Outlook for iOS and Android. Para configuração de acesso móvel seguro com Intune, consultar o NIS2: Checklist em 90 Dias.
7. Gestão de Licença Após Conversão
A principal vantagem económica da conversão é poder remover a licença do utilizador que saiu. No entanto, há regras:
Get-Mailbox -Identity “[email protected]” | Get-MailboxStatistics |
Select-Object DisplayName, TotalItemSize, ItemCount
# Se TotalItemSize < 50GB, pode-se remover a licença
# Bloquear sign-in primeiro
Set-MsolUser -UserPrincipalName “[email protected]” -BlockCredential $true
# Remover licença (exemplo: Business Standard SKU)
$sku = “empresa:O365_BUSINESS_STANDARD”
Set-MsolUserLicense -UserPrincipalName “[email protected]” -RemoveLicenses $sku
⚠️ Atenção: Se a caixa exceder 50 GB e a licença for removida, a caixa pode ser purgada após um período de tolerância. Monitorizar o tamanho e, se necessário, manter uma licença Exchange Online Plan 2 (mais barata que Business Standard) ou ativar arquivo. Em PME, uma caixa de utilizador com 5+ anos de email pode ultrapassar 50 GB — verificar sempre com Get-MailboxStatistics antes de remover licença.
8. Reencaminhamento de Email
Após converter a caixa, é útil reencaminhar emails recebidos para quem assume a função do colaborador que saiu:
Set-Mailbox -Identity “[email protected]” `
-ForwardingSMTPAddress “[email protected]” `
-DeliverToMailboxAndForward $true
# Verificar reencaminhamento
Get-Mailbox -Identity “[email protected]” | Select-Object ForwardingSMTPAddress, DeliverToMailboxAndForward
| Parâmetro | Comportamento |
|---|---|
-DeliverToMailboxAndForward $true |
Email chega à shared mailbox E é reencaminhado |
-DeliverToMailboxAndForward $false |
Email é apenas reencaminhado (não fica na shared mailbox) |
ℹ️ Nota: O reencaminhamento é útil durante um período transitório (1-3 meses) até os clientes actualizarem os contactos. Passado esse período, remover o reencaminhamento para evitar loops e confusão. Documentar a data de remoção num ticket (Registar e Documentar Tickets Correctamente).
9. Converter Múltiplas Caixas em Lote
Para PME que reorganiza equipas ou fechar contas de vários ex-colaboradores, a conversão em lote via PowerShell é eficiente:
$caixas = Import-Csv -Path .\caixas_converter.csv
foreach ($c in $caixas) {
try {
# Converter
Set-Mailbox -Identity $c.UPN -Type Shared -ErrorAction Stop
Write-Host “Convertida: $($c.UPN)” -ForegroundColor Green
# Bloquear sign-in
Set-MsolUser -UserPrincipalName $c.UPN -BlockCredential $true
# Atribuir FullAccess ao responsável indicado no CSV
if ($c.Responsavel) {
Add-MailboxPermission -Identity $c.UPN -User $c.Responsavel `
-AccessRights FullAccess -InheritanceType All -AutoMapping $false
}
# Remover licença se tamanho < 50GB
$size = (Get-Mailbox -Identity $c.UPN | Get-MailboxStatistics).TotalItemSize.Value.ToMB()
if ($size -lt 50000) {
# Remover licença (ajustar SKU conforme tenant)
# Set-MsolUserLicense -UserPrincipalName $c.UPN -RemoveLicenses “empresa:O365_BUSINESS_STANDARD”
Write-Host ” Licença removível (tamanho: ${size} MB)” -ForegroundColor Cyan
} else {
Write-Host ” ATENÇÃO: Caixa com ${size} MB — manter licença” -ForegroundColor Yellow
}
} catch {
Write-Host “ERRO em $($c.UPN): $($_.Exception.Message)” -ForegroundColor Red
}
}
💡 Dica
O CSV deve ter colunas UPN e Responsavel. Executar primeiro com -WhatIf (simulação) não é possível em Set-Mailbox -Type, por isso testar com uma caixa isolada antes de processar o lote completo. Documentar cada conversão num ticket individual.
10. Auditoria de Shared Mailboxes
A auditoria periódica de shared mailboxes é boa prática de segurança — garante que apenas as pessoas correctas têm acesso e que as caixas não crescem sem controlo:
Get-Mailbox -RecipientTypeDetails SharedMailbox -ResultSize Unlimited |
Select-Object DisplayName, PrimarySmtpAddress, WhenCreated |
Export-Csv -Path “.\shared_mailboxes.csv” -NoTypeInformation -Encoding UTF8
# Listar permissões de todas as shared mailboxes
Get-Mailbox -RecipientTypeDetails SharedMailbox -ResultSize Unlimited | ForEach-Object {
$mb = $_
Get-MailboxPermission -Identity $mb.Identity |
Where-Object { $_.User -notlike “NT AUTHORITY*” -and $_.User -notlike “S-1-5*” -and $_.IsInherited -eq $false } |
Select-Object @{N=”Mailbox”;E={$mb.DisplayName}}, User, AccessRights
} | Export-Csv -Path “.\shared_mailbox_permissions.csv” -NoTypeInformation -Encoding UTF8
# Verificar caixas que excedem 50GB (precisam de licença)
Get-Mailbox -RecipientTypeDetails SharedMailbox -ResultSize Unlimited | ForEach-Object {
$stat = Get-MailboxStatistics -Identity $_.Identity
$sizeMB = $stat.TotalItemSize.Value.ToMB()
if ($sizeMB -gt 50000) {
[PSCustomObject]@{
Mailbox = $_.DisplayName
SizeMB = $sizeMB
Items = $stat.ItemCount
}
}
} | Sort-Object SizeMB -Descending
ℹ️ Nota: Executar a auditoria trimestralmente. Em PME sujeitas a NIS2 (consultar NIS2: Checklist em 90 Dias), a auditoria de acessos a caixas partilhadas faz parte do controlo de acessos. Registar o resultado num ticket de auditoria.
11. Erros Comuns na Conversão
| Problema | Causa | Solução |
|---|---|---|
Set-Mailbox -Type Shared falha com “mailbox not found” |
UPN incorrecto ou caixa já eliminada | Verificar com Get-Mailbox -Identity x; se eliminada, restaurar em < 30 dias |
| Caixa convertida mas Outlook não a mostra | Automapping desactivado ou cache não atualizado | Adicionar manualmente no Outlook ou aguardar 24h para sync do OAB |
| Utilador consegue ler mas não enviar como | Apenas FullAccess atribuído, sem SendAs | Adicionar Add-RecipientPermission -AccessRights SendAs |
| Caixa excede 50 GB e para de receber email | Licença removida sem verificar tamanho | Atribuir Exchange Online Plan 2 ou ativar arquivo |
| Erro “You don’t have sufficient permissions” | Conta não é Exchange Admin ou Global Admin | Usar conta com role adequada ou Privileged Identity Management |
| Reencaminhamento não chega ao destinatário | -DeliverToMailboxAndForward $false |
Alterar para $true ou configurar regra de transporte |
Connect-ExchangeOnline falha |
Módulo desactualizado ou MFA mal configurada | atualizar ExchangeOnlineManagement e usar Connect-ExchangeOnline -UseRPSSession |
12. Checklist de Conversão
- [ ] Verificar que a conta do utilizador existe e não está eliminada
- [ ] Confirmar tamanho da caixa com
Get-MailboxStatistics(< 50 GB = sem licença) - [ ] Verificar se há In-Place Hold ou Litigation Hold (requer licença)
- [ ] Converter via Admin Center ou
Set-Mailbox -Type Shared - [ ] Bloquear sign-in do utilizador (
Set-MsolUser -BlockCredential $true) - [ ] Atribuir
FullAccessa quem precisa de aceder (Add-MailboxPermission) - [ ] Atribuir
SendAsa quem precisa de enviar como (Add-RecipientPermission) - [ ] Avaliar automapping: desativar se mais de 5 utilizadores com acesso
- [ ] Configurar reencaminhamento transitório se necessário
- [ ] Remover licença se caixa < 50 GB e sem holds
- [ ] Documentar conversão e permissões num ticket (Registar e Documentar Tickets Correctamente)
- [ ] Agendar auditoria trimestral de shared mailboxes
- [ ] Comunicar aos utilizadores como aceder à caixa partilhada no Outlook
