Excluir todos os contactos no Outlook de uma vez (Web, Novo Outlook e Microsoft 365) — guia definitivo

Precisa apagar todos os contactos (contatos) do Outlook de uma vez? Este guia prático mostra o que funciona no Outlook Web, no Novo Outlook e no Outlook Clássico, com passo‑a‑passo, scripts e cuidados para que nada volte a reaparecer após a sincronização.

Índice

Visão geral e por que existe um limite

Vários utilizadores descobrem o pior momento para gerir contactos: quando precisam apagar tudo, de uma vez, e o Outlook Web limita a seleção a apenas 10 itens por lote. O “Novo Outlook” para desktop herdou o mesmo limite, deixando o botão Eliminar inativo ao selecionar mais do que 10 contactos. Já o Outlook Clássico (Win32 no Windows e a edição “legada” no macOS) continua a permitir selecionar tudo e apagar sem restrições. Abaixo, um resumo fiel do que foi efetivamente observado por utilizadores e admins.

CenárioLimitação observadaSolução que funcionouObservações importantes
Outlook Web (Outlook.com / OWA)Só permite selecionar‑e‑eliminar 10 contactos por vez.Não há solução nativa para ultrapassar o limite.Requer exclusão manual em lotes de 10.
Novo Outlook (Monarch)Mesmo limite de 10; o botão Eliminar fica inativo ao selecionar “todos”.Nenhuma solução nativa; use o cliente clássico ou um script.Queixas recorrentes dos utilizadores.
Outlook Clássico para Windows / Mac (Win32 ou legado)Permite seleção total sem limite.Em Pessoas: Ctrl+A (Windows) / Cmd+A (Mac) → Delete → sincronizar.Para a maioria, os contactos somem do servidor depois de algum tempo; a sincronização pode demorar.
Duplicados ou contactos corrompidosAcabam na pasta Itens eliminados e continuam a contar.Esvaziar a pasta Itens eliminados após a exclusão em massa.Sincronização pode recriar contactos se o telemóvel ainda tiver cópias locais.

Antes de começar: o que realmente é um “contacto” no seu ecossistema

Para evitar surpresas, identifique de onde vêm os seus dados. Nem tudo o que aparece na pesquisa de pessoas é um contacto pessoal que vive na sua caixa de correio.

  • Contactos pessoais: moram na pasta Contactos/Pessoas da sua caixa de correio (Exchange/Outlook.com). É disto que tratamos aqui.
  • Contactos de diretório (GAL/Lista Global de Endereços): geridos por TI. Apagar os seus contactos pessoais não remove entradas do diretório.
  • Sugestões de destinatários (autocompletar): não são contactos; limpar contactos não remove sugestões. Devem ser limpas separadamente.
  • Contactos do telefone (iCloud, Google, contas locais): se o telemóvel está sincronizado com o Outlook, pode repovoar a pasta de contactos após a limpeza.
  • Contactos de apps (Teams/Skype/LinkedIn): podem aparecer agregados, mas não são necessariamente itens na sua pasta de contactos.

Guia rápido com Outlook Clássico (recomendado)

Se você tem acesso temporário ao Outlook Clássico, esta é a forma mais simples e confiável.

  1. Abrir o Outlook de desktop (edição “Clássica”).
  2. Mudar para o módulo Pessoas (ou Contactos).
  3. Premir Ctrl+A (Windows) ou Cmd+A (Mac) para selecionar todos os contactos.
  4. Premir Delete (ou Shift+Delete se pretende ignorar a Lixeira/Itens eliminados).
  5. Sincronizar: mantenha o Outlook aberto e ligado até o estado ficar estável (sem “Atualizando…”). Depois confirme também no telemóvel e no Outlook Web que a lista está vazia.

Importante: se só usa o Novo Outlook ou o Outlook Web, não há forma nativa de contornar o limite de 10 por lote. As alternativas são eliminar em lotes, usar scripts (Microsoft Graph/PowerShell) ou temporariamente instalar o cliente clássico.

Eliminar de forma definitiva e esvaziar a pasta “Itens eliminados”

Apagar muito pode apenas mover tudo para Itens eliminados, mantendo a contagem alta e permitindo restauração involuntária por sincronização. Limpe assim:

  • No Outlook Clássico: clique com o botão direito em Itens eliminadosEsvaziar pasta.
  • No Outlook Web/Novo Outlook: aceda à Caixa de correioItens eliminadosEsvaziar.
  • Se o ambiente tiver retenção (Litigation Hold, políticas M365), a pasta Itens recuperáveis pode manter cópias até a retenção expirar. Isto é normal em ambientes corporativos.

Evitar que os contactos reapareçam por causa do telemóvel

O telefone pode reintroduzir dados logo após a limpeza:

  • iOS: Definições → ContactosContas → selecione a conta Exchange/Outlook → desative Contactos (apague do iPhone quando perguntado) → ative novamente após a limpeza do servidor.
  • Android com app Outlook: Outlook → Definições → toque na conta → desative Sincronizar contactos → reative depois de confirmar que o servidor está limpo.

Quando só há Outlook Web ou o Novo Outlook

Sem o cliente clássico nem scripts, o caminho é eliminar em lotes de 10. Para acelerar:

  • Abra Pessoas/Contactos e ordene por Nome. Use a barra lateral por letra (A, B, C…) para fazer blocos de 10 rapidamente.
  • Use Shift+clique para selecionar intervalos contínuos (até 10). Para intervalos maiores, faça múltiplos lotes.
  • Após concluir um conjunto significativo, esvazie Itens eliminados para impedir que os itens voltem.
  • Se houver muitos duplicados, considere o método Exportar → Limpar → Importar descrito abaixo.

Alternativas e complementos úteis

OpçãoQuando usarComo fazer
PowerShell + Microsoft GraphUtilizadores avançados, programadores, admins delegadosUsar o módulo Microsoft.Graph para listar e apagar contactos pessoais em massa.
PowerShell + Exchange OnlineAdmins de Microsoft 365Atenção: isto remove Mail Contacts do diretório (GAL), não os contactos pessoais da caixa de correio.
Exportar → Limpar → ImportarQuem só tem Outlook Web/Novo OutlookExportar para CSV, deduplicar no Excel, apagar em lotes de 10, reimportar o CSV limpo (opção “Não importar duplicados”).
Apps de terceirosGestão avançada de duplicadosFerramentas especializadas (ex.: gestores de contactos móveis) que sincronizam com Exchange/Outlook e suportam eliminação em massa.

PowerShell com Microsoft Graph para contactos pessoais

O Microsoft Graph é a rota suportada para automatizar operações sobre contactos pessoais (os que vivem em me/contacts ou users/{id}/contacts). Abaixo um exemplo prático usando o SDK oficial para PowerShell.

Pré‑requisitos

  • Permissões adequadas: Contacts.ReadWrite (delegada para o próprio utilizador) ou uma app com Contacts.ReadWrite de aplicação, aprovada por um admin.
  • Módulo Microsoft.Graph instalado.

Exemplo para o utilizador atual (delegado)

# Instalar (se necessário)
Install-Module Microsoft.Graph -Scope CurrentUser

Autenticar com o escopo necessário

Connect-MgGraph -Scopes "Contacts.ReadWrite"

Listar todos os contactos do utilizador atual

$all = Get-MgMeContact -All

Opcional: ver uma amostra antes de apagar

$all | Select-Object -First 5 Subject, GivenName, Surname, EmailAddresses

Apagar em massa (move para Itens eliminados)

foreach ($c in $all) {
try {
Remove-MgMeContact -ContactId $c.Id -ErrorAction Stop
} catch {
Write-Warning "Falha ao remover $($c.Id): $($_.Exception.Message)"
}
}

Esvaziar 'Itens eliminados' para concluir a limpeza

Invoke-MgGraphRequest -Method POST -Uri "[https://graph.microsoft.com/v1.0/me/mailFolders/deleteditems/emptyFolder](https://graph.microsoft.com/v1.0/me/mailFolders/deleteditems/emptyFolder)" -Body @{ deleteSubFolders = $true } 

Exemplo para outro utilizador (admin delegando a execução)

Connect-MgGraph -Scopes "Contacts.ReadWrite.All"

$user = "[usuario@exemplo.com](mailto:usuario@exemplo.com)"
$all  = Get-MgUserContact -UserId $user -All

foreach ($c in $all) {
Remove-MgUserContact -UserId $user -ContactId $c.Id -ErrorAction SilentlyContinue
}

Esvaziar 'Itens eliminados' do utilizador

Invoke-MgGraphRequest -Method POST `  -Uri "https://graph.microsoft.com/v1.0/users/$user/mailFolders/deleteditems/emptyFolder"`
-Body @{ deleteSubFolders = $true } 

Boas práticas: teste primeiro com 2–3 contactos; registe IDs removidos; confirme no Outlook Web após alguns minutos; se existir retenção/hold, a purga completa pode depender da política.

PowerShell com Exchange Online para Mail Contacts do diretório

Estes cmdlets não mexem nos seus contactos pessoais. Use-os apenas se pretende limpar contactos de diretório (objetos do Azure AD/Exchange). Exemplo:

# Conectar ao serviço
Install-Module ExchangeOnlineManagement -Scope CurrentUser
Connect-ExchangeOnline

Ver contatos de diretório (Mail Contacts)

Get-MailContact | Select-Object Name, ExternalEmailAddress

Remover em massa (cautela!)

Get-MailContact | ForEach-Object {
Remove-MailContact -Identity $_.Identity -Confirm:$false
}

Encerrar sessão

Disconnect-ExchangeOnline 

Dica: para remover apenas um subconjunto, filtre por domínio, OU ou prefixo no Get-MailContact.

Exemplo com Microsoft Graph API em Python

Para equipas que preferem Python, um esqueleto simples (com MSAL) para apagar todos os contactos pessoais do utilizador autenticado:

import msal, requests

TENANT = "seutenantidounome"
CLIENTID = "seuclient_id"
SCOPES = ["[https://graph.microsoft.com/Contacts.ReadWrite](https://graph.microsoft.com/Contacts.ReadWrite)"]
AUTHORITY = f"[https://login.microsoftonline.com/{TENANT}](https://login.microsoftonline.com/{TENANT})"
GRAPH = "[https://graph.microsoft.com/v1.0](https://graph.microsoft.com/v1.0)"

app = msal.PublicClientApplication(CLIENT_ID, authority=AUTHORITY)
result = app.acquiretokeninteractive(SCOPES)

accesstoken = result["accesstoken"]
headers = {"Authorization": f"Bearer {access_token}"}

Paginação

url = f"{GRAPH}/me/contacts?$top=50"
ids = []
while url:
r = requests.get(url, headers=headers)
data = r.json()
ids += [c["id"] for c in data.get("value", [])]
url = data.get("@odata.nextLink")

Eliminar e depois esvaziar Itens eliminados

for cid in ids:
requests.delete(f"{GRAPH}/me/contacts/{cid}", headers=headers)

Esvaziar Itens eliminados

requests.post(f"{GRAPH}/me/mailFolders/deleteditems/emptyFolder",
headers=headers, json={"deleteSubFolders": True}) 

Remover duplicados e contactos corrompidos

O Outlook não tem uma ferramenta oficial de deduplicação de contactos pessoais. Estas abordagens costumam funcionar bem:

  • Exportar → deduplicar → importar: exporte a pasta de contactos para CSV, abra no Excel, crie uma coluna “chave” (por exemplo, e‑mail principal + telefone), use Remover Duplicatas e volte a importar.
  • Apps de terceiros: se a base estiver muito suja (endereços quebrados, campos trocados), apps móveis especializadas lidam melhor com mesclagem de dados e depois sincronizam de volta para o Exchange.
  • Limpeza na origem: se o telemóvel gerar duplicados (ex.: contas iCloud e Exchange ativas ao mesmo tempo), defina uma única conta padrão para novos contactos e desative o restante.

Fluxo completo Exportar → Limpar → Importar (ideal sem cliente clássico)

  1. Exportar: no Outlook Web, vá a PessoasGerirExportar contactos → selecione Todos (ou apenas uma pasta) → descarregue o CSV.
  2. Deduplicar no Excel:
    • Adicione uma coluna “Chave” com uma fórmula tipo: =CONCAT(LOWER(TRIM([EmailAddress1]));"-";SO. + telemóvel). Adapte aos seus campos.
    • Use Remover Duplicatas nessa coluna ou aplique UNIQUE() (Excel 365) para gerar uma lista única.
    • Padronize nomes próprios/sobrenomes, códigos de país e formatos de telefone.
  3. Apagar os existentes: no Outlook Web/Novo Outlook, elimine em lotes de 10 até zerar a pasta. Esvazie Itens eliminados.
  4. Importar: use Importar contactos e mapeie os campos. Ative a opção Não importar duplicados (ou equivalente).
  5. Verificar: pesquise por nomes frequentes e valide telefones/e‑mails críticos. Faça um backup do CSV limpo.

Checklist pós‑exclusão

  • Esvazie Itens eliminados e confirme que a pasta de contactos está vazia.
  • Desative temporariamente a sincronização de contactos no telemóvel, reative depois.
  • Limpe sugestões de destinatários (autocompletar) no Outlook, se necessário.
  • Se o ambiente corporativo tiver retenção, aguarde a janela de processamento do servidor para purga completa dos itens recuperáveis.
  • Faça um export final como backup do estado limpo.

Perguntas frequentes

Por que o Outlook Web e o Novo Outlook limitam a 10 contactos por exclusão? É uma limitação de interface/segurança nessas edições. Não há configuração exposta ao utilizador para alterar esse teto. Apagar no Outlook Clássico remove do servidor? Sim, em contas Exchange/Outlook.com, o Outlook Clássico sincroniza as alterações; a remoção propaga para o servidor e demais dispositivos. Posso desfazer depois? Se os itens ainda estiverem em Itens eliminados (ou Itens recuperáveis, sujeito a política), pode restaurar. Após esvaziar/purgar, não há undo. Apagar contactos pessoais afeta a Lista Global de Endereços? Não. A GAL é gerida por TI. Para remover Mail Contacts de diretório, use PowerShell com Exchange Online (procura e remove objetos do diretório). Os contactos voltaram sozinhos. Por quê? Geralmente um dispositivo ainda tinha sincronização ativa com cópias locais e reintroduziu os itens. Desative a sincronização no telemóvel durante a limpeza e reative depois. Como diferenciar contacto pessoal de sugestão do autocompletar? Contactos pessoais aparecem e editam‑se na pasta Pessoas. Sugestões surgem enquanto escreve um endereço; limpe‑as separadamente nas definições do Outlook.

Resolução de problemas

  • O botão Eliminar fica cinzento ao selecionar tudo: comportamento esperado no Novo Outlook/OWA. Use lotes de 10 ou recorra ao Outlook Clássico/scripts.
  • Itens não desaparecem do painel web: aguarde a sincronização. Verifique também se há Litigation Hold ou política de retenção que impeça a purga imediata.
  • Erro ao apagar via script: confirme permissões Contacts.ReadWrite, consentimento do admin (em apps) e pagine corretamente (Graph usa @odata.nextLink).
  • Contactos com campos danificados: exporte para CSV, normalize no Excel e reimporte. Muitas vezes o problema é um caractere inválido em telefone/e‑mail.

Boas práticas para não voltar ao caos

  • Defina uma fonte de verdade: escolha uma conta principal (Exchange/Outlook.com) para criar novos contactos.
  • Evite duplicar sincronizações: não ative iCloud + Google + Exchange ao mesmo tempo para a mesma agenda de contactos do telefone.
  • Padronize formato: use códigos de país em telefones e e‑mails limpos; isso melhora a deteção de duplicados posteriormente.
  • Exportações periódicas: guarde um CSV trimestral como backup simples.

Resumo executivo

  • Limite real: Outlook Web e Novo Outlook permitem no máximo 10 exclusões simultâneas.
  • Solução mais simples: usar temporariamente o Outlook Clássico para selecionar tudo, eliminar e deixar sincronizar.
  • Sem cliente clássico: eliminar em lotes de 10 ou recorrer a scripts (Microsoft Graph/PowerShell) ou a ferramentas externas.
  • Dicas finais: esvazie Itens eliminados depois da operação e garanta que todos os dispositivos sincronizam para evitar reaparecimentos.

Tabela‑resumo rápida

Versão do OutlookExclusão em massaLimiteAtalhos úteisObservações
Outlook Web (OWA)Manual, 10 por lote10Shift+clique para intervalosEsvazie Itens eliminados após cada rodada grande.
Novo OutlookManual, 10 por lote10Shift+clique; pesquisa por letraBotão Eliminar inativo acima de 10 selecionados.
Outlook ClássicoSelecionar tudo e apagarSem limite práticoCtrl/Cmd+A; Delete; Shift+DeleteMelhor para limpezas totais e grandes volumes.
Script Microsoft GraphAutomatizadoPaginado por APINecessita permissões Contacts.ReadWrite.
Exchange Online (Mail Contacts)AutomatizadoAfeta diretório, não contactos pessoais.

Modelo de execução segura

  1. Faça um export de segurança (CSV).
  2. Escolha a abordagem:
    • Outlook Clássico → selecione tudo → Delete.
    • OWA/Novo Outlook → lotes de 10 + esvaziar Itens eliminados.
    • Graph/PowerShell → scripts acima.
  3. Desative a sincronização de contactos no telemóvel durante a limpeza.
  4. Esvazie Itens eliminados (e Itens recuperáveis, se aplicável).
  5. Reative a sincronização no telemóvel e confirme o estado nos três pontos: desktop, web e mobile.
Índice