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.
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ário | Limitação observada | Solução que funcionou | Observaçõ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 corrompidos | Acabam 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.
- Abrir o Outlook de desktop (edição “Clássica”).
- Mudar para o módulo Pessoas (ou Contactos).
- Premir Ctrl+A (Windows) ou Cmd+A (Mac) para selecionar todos os contactos.
- Premir Delete (ou Shift+Delete se pretende ignorar a Lixeira/Itens eliminados).
- 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 eliminados → Esvaziar pasta.
- No Outlook Web/Novo Outlook: aceda à Caixa de correio → Itens eliminados → Esvaziar.
- 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 → Contactos → Contas → 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ção | Quando usar | Como fazer |
---|---|---|
PowerShell + Microsoft Graph | Utilizadores avançados, programadores, admins delegados | Usar o módulo Microsoft.Graph para listar e apagar contactos pessoais em massa. |
PowerShell + Exchange Online | Admins de Microsoft 365 | Atenção: isto remove Mail Contacts do diretório (GAL), não os contactos pessoais da caixa de correio. |
Exportar → Limpar → Importar | Quem só tem Outlook Web/Novo Outlook | Exportar para CSV, deduplicar no Excel, apagar em lotes de 10, reimportar o CSV limpo (opção “Não importar duplicados”). |
Apps de terceiros | Gestão avançada de duplicados | Ferramentas 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 comContacts.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)
- Exportar: no Outlook Web, vá a Pessoas → Gerir → Exportar contactos → selecione Todos (ou apenas uma pasta) → descarregue o CSV.
- 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.
- Adicione uma coluna “Chave” com uma fórmula tipo:
- Apagar os existentes: no Outlook Web/Novo Outlook, elimine em lotes de 10 até zerar a pasta. Esvazie Itens eliminados.
- Importar: use Importar contactos e mapeie os campos. Ative a opção Não importar duplicados (ou equivalente).
- 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 Outlook | Exclusão em massa | Limite | Atalhos úteis | Observações |
---|---|---|---|---|
Outlook Web (OWA) | Manual, 10 por lote | 10 | Shift+clique para intervalos | Esvazie Itens eliminados após cada rodada grande. |
Novo Outlook | Manual, 10 por lote | 10 | Shift+clique; pesquisa por letra | Botão Eliminar inativo acima de 10 selecionados. |
Outlook Clássico | Selecionar tudo e apagar | Sem limite prático | Ctrl/Cmd+A; Delete; Shift+Delete | Melhor para limpezas totais e grandes volumes. |
Script Microsoft Graph | Automatizado | Paginado por API | — | Necessita permissões Contacts.ReadWrite . |
Exchange Online (Mail Contacts) | Automatizado | — | — | Afeta diretório, não contactos pessoais. |
Modelo de execução segura
- Faça um export de segurança (CSV).
- Escolha a abordagem:
- Outlook Clássico → selecione tudo → Delete.
- OWA/Novo Outlook → lotes de 10 + esvaziar Itens eliminados.
- Graph/PowerShell → scripts acima.
- Desative a sincronização de contactos no telemóvel durante a limpeza.
- Esvazie Itens eliminados (e Itens recuperáveis, se aplicável).
- Reative a sincronização no telemóvel e confirme o estado nos três pontos: desktop, web e mobile.