Diagnóstico Autodiscover O365: Testar DNS, SCP e Conectividade
✎ Duarte Spínola | 2026-07-16
O Outlook não consegue configurar automaticamente a caixa de correio do Office 365. O utilizador abre o Outlook, introduz o email, e em vez de aparecer a caixa configurada, surge um erro de ligação ou um pedido de configuração manual. Na maioria dos casos, o problema não está no Outlook nem no Exchange Online — está no caminho de resolução Autodiscover, que depende de registos DNS correctos, ausência de Service Connection Points legados do Exchange on-premises, e conectividade HTTPS aos endpoints da Microsoft. Este artigo estrutura um diagnóstico completo em seis passos que isola cada camada — DNS, SCP, HTTPS, autenticação — para identificar exactamente onde a ligação falha.
Já existem artigos no kbase.pt sobre autodiscover (diagnóstico DNS e Office 365 vs Hosted Exchange). Este artigo é um complemento que estrutura o diagnóstico como um fluxo sequencial — cada passo valida uma camada específica e só passa para a seguinte se a anterior passar.
⚠ **Atenção
** Se o domínio foi recentemente migrado de Exchange on-premises para Exchange Online, os registos SCP (Service Connection Point) no Active Directory local podem estar a direccionar o Outlook para o servidor Exchange antigo em vez do Office 365. Este é o problema mais comum e está coberto no Passo 2.
1. O que Está a Acontecer — Como o Outlook Encontra o Exchange via Autodiscover
O Autodiscover é o mecanismo pelo qual o Outlook descobre automaticamente as definições de ligação ao Exchange — servidor, porta, protocolo de autenticação. Sem Autodiscover funcional, o Outlook não consegue configurar uma caixa de correio sem intervenção manual (Microsoft Learn — Autodiscover).
O processo de descoberta segue uma ordem precisa. O Outlook tenta cada método por ordem e usa o primeiro que responder:
| Ordem | Método | O que faz | Tempo típico |
|---|---|---|---|
| 1 | SCP (Service Connection Point) | Consulta o Active Directory local por um objecto que aponta para o servidor Exchange | <1 segundo |
| 2 | DNS — registo CNAME autodiscover | Resolve autodiscover.dominio.pt via DNS público |
1-3 segundos |
| 3 | HTTPS — autodiscover.dominio.pt | Liga a https://autodiscover.dominio.pt/autodiscover/autodiscover.xml |
2-5 segundos |
| 4 | HTTPS — autodiscover.outlook.com | Liga ao endpoint cloud da Microsoft | 2-5 segundos |
O problema surge quando uma destas camadas responde com informação incorrecta. Por exemplo: o SCP aponta para um Exchange on-premises descomissionado (passo 1 responde, mas com o servidor errado), ou o CNAME DNS aponta para um servidor que já não existe (passo 2 responde, mas com o destino errado). O Outlook segue a primeira resposta que recebe, mesmo que seja incorrecta.
Para tenants do Office 365, o fluxo correcto é: sem SCP (ou SCP a apontar para O365) → CNAME autodiscover.dominio.pt → autodiscover.outlook.com → Exchange Online.
2. Cenários em que Este Diagnóstico Se Aplica
Este guia aplica-se especificamente a:
- Migração on-premises → cloud: domínio recentemente migrado de Exchange on-premises para Exchange Online, Outlook não configura automaticamente
- Configuração inicial O365: novo tenant Office 365, novo domínio verificado, primeira configuração do Outlook
- Cenário híbrido: Exchange on-premises coexiste com Exchange Online, Outlook liga ao servidor errado
- Domínios com múltiplos fornecedores: domínio que teve Hosted Exchange noutro fornecedor antes do O365, registos DNS antigos a interferir
- Alterações de DNS recentes: mudança de fornecedor de DNS, propagação incompleta
Não se aplica a:
- Outlook com caixa de correio on-premises (Exchange Server local) — o fluxo Autodiscover é diferente
- Clientes móveis (iOS/Android) que usam ActiveSync, não Autodiscover Outlook
- Problemas de licenciamento (caixa sem licença E3/Business Premium) — não é problema de Autodiscover
3. Passo 1 — Verificar o Registo DNS CNAME autodiscover
O primeiro passo é confirmar que o registo DNS autodiscover.dominio.pt existe e aponta para o endpoint correcto da Microsoft. Este é o registo que o Outlook consulta quando não encontra SCP (ou quando o SCP não responde).
3.1 Consultar o registo CNAME
Abre uma linha de comandos (cmd ou PowerShell) e resolve o registo DNS:
Resolve-DnsName -Name autodiscover.dominio.pt -Type CNAME
O output esperado para um domínio correctamente configurado no Office 365:
—- —- — —–
autodiscover.dominio.pt CNAME 3600 autodiscover.outlook.com
Se o output mostrar um CNAME diferente (ex: autodiscover.outlook.com está ausente e aponta para um servidor local), o registo DNS está mal configurado.
3.2 Verificar a cadeia completa de resolução
O CNAME autodiscover.dominio.pt deve resolver para autodiscover.outlook.com, que por sua vez resolve para um endereço IP da Microsoft. Verifica a cadeia completa:
Resolve-DnsName -Name autodiscover.dominio.pt -Type CNAME
Resolve-DnsName -Name autodiscover.outlook.com -Type A
3.3 Verificar com nslookup (alternativa)
Se não tiveres PowerShell, usa nslookup em qualquer sistema Windows:
nslookup autodiscover.outlook.com
3.4 Tabela de Diagnóstico DNS
| Resultado | Diagnóstico | Acção |
|---|---|---|
CNAME → autodiscover.outlook.com |
Correcto — O365 | Avançar para Passo 2 |
| CNAME → outro servidor | Registo aponta para servidor errado | Corrigir CNAME no painel de DNS |
| CNAME não existe (NXDOMAIN) | Registo em falta | Criar CNAME: autodiscover → autodiscover.outlook.com |
CNAME → autodiscover.dominio.local |
Aponta para Exchange on-premises | Remover e redireccionar para O365 |
| A record em vez de CNAME | Configuração incorrecta | Substituir A por CNAME para autodiscover.outlook.com |
Os endpoints oficiais do Office 365 que devem estar acessíveis estão documentados em (Microsoft Learn — URLs e IP ranges O365).
4. Passo 2 — Verificar Service Connection Points (SCP) no Active Directory
Em ambientes que tinham Exchange on-premises, o Active Directory contém objectos SCP que dizem ao Outlook onde procurar o Autodiscover. Mesmo após migrar para O365, estes objectos podem persistir e direccionar o Outlook para o servidor Exchange antigo — o problema mais comum em migrações.
4.1 Listar SCPs no domínio
Para listar todos os SCPs de Autodiscover registados no Active Directory:
Get-ADObject -Filter “objectClass -eq ‘serviceConnectionPoint’ -and Name -like ‘*Autodiscover*'” -Properties serviceBindingInformation | Select-Object Name, serviceBindingInformation, DistinguishedName
O output esperado num ambiente puramente cloud (sem Exchange on-premises):
Se aparecerem resultados, cada linha mostra um SCP que está a direccionar o Outlook. Output típico de ambiente com Exchange on-premises legado (exemplo ilustrativo, não executado):
Name serviceBindingInfo DistinguishedName
—- —————— —————–
Autodiscover (EXCH01) https://exch01.dominio.local/autodiscover/autodiscover.xml CN=EXCH01,CN=Servers,CN=Exchange…
Isto significa que o Outlook está a ser direccionado para exch01.dominio.local — um servidor que provavelmente já não existe ou não é o correcto para O365.
4.2 Verificar SCP do computador local
Para ver qual SCP específico o Outlook está a usar no computador actual:
Get-ItemProperty -Path “HKLM:\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover” -ErrorAction SilentlyContinue
As chaves que podem estar a interferir:
| Chave de registo | Efeito se presente |
|---|---|
SCPDefaultCFG |
Força Outlook a usar SCP específico |
ExcludeScpLookup = 1 |
Ignora SCP (útil para teste — ver 4.4) |
ExcludeExplicitO365Endpoint = 1 |
Impede Outlook de tentar O365 directamente |
4.3 Desactivar SCPs Legados
Se o ambiente já não tem Exchange on-premises, os SCPs devem ser removidos do Active Directory. Isto faz-se no servidor Exchange on-premises antes de descomissionar, ou via ADSI Edit:
$scp = Get-ADObject -Filter “objectClass -eq ‘serviceConnectionPoint’ -and Name -like ‘*Autodiscover*’ -and serviceBindingInformation -like ‘*dominio.local*'”
Remove-ADObject -Identity $scp -Confirm:$false
⚠ **Atenção
** Remover SCPs do Active Directory afecta todos os clientes Outlook do domínio. Testar numa OU de staging primeiro. Se ainda existem caixas de correio on-premises (cenário híbrido), NÃO remover os SCPs — ajustar para apontar ao servidor Exchange híbrido correcto.
4.4 Bypass Temporário de SCP para Teste
Para confirmar que o SCP é o problema, desactiva temporariamente a consulta de SCP no registo do cliente e testa novamente:
Set-ItemProperty -Path “HKLM:\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover” -Name “ExcludeScpLookup” -Value 1 -Type DWord
Depois de aplicar esta chave, reinicia o Outlook. Se a caixa configurar automaticamente, o problema é o SCP. Remove a chave depois do teste se não quiseres manter o bypass permanente:
5. Passo 3 — Testar Conectividade HTTPS ao Endpoint Autodiscover
Depois de confirmar que o DNS resolve correctamente e os SCPs não interferem, o próximo passo é verificar que o Outlook consegue efectivamente ligar via HTTPS ao endpoint Autodiscover do Office 365.
5.1 Testar ligação TCP à porta 443
O Autodiscover do O365 usa HTTPS (porta 443). Verifica que o computador consegue chegar ao endpoint:
Test-NetConnection -ComputerName autodiscover.outlook.com -Port 443
Output esperado:
RemoteAddress : 52.97.x.x
RemotePort : 443
InterfaceAlias : Ethernet
SourceAddress : 192.168.x.x
TcpTestSucceeded : True
Se TcpTestSucceeded for False, há um firewall ou proxy a bloquear a ligação.
5.2 Testar o pedido HTTPS completo
Para testar o pedido Autodiscover completo (não só TCP), usa o Microsoft Remote Connectivity Analyzer (RCA). É a ferramenta oficial da Microsoft para validar Autodiscover:
- Abre o browser em https://testconnectivity.microsoft.com
- Selecciona “Office 365” → “Autodiscover Outlook”
- Introduz as credenciais da caixa de correio
- O RCA simula o pedido Autodiscover completo e mostra onde falha
A documentação sobre conectividade de clientes no Exchange Online está em (Microsoft Learn — Clients and mobile in Exchange Online).
5.3 Verificar certificado TLS
Se a ligação HTTPS falha por certificado, testa com PowerShell:
$tcp = New-Object System.Net.Sockets.TcpClient(“autodiscover.outlook.com”, 443)
$ssl = New-Object System.Net.Security.SslStream($tcp.GetStream(), $false, { $true })
$ssl.AuthenticateAsClient(“autodiscover.outlook.com”)
$ssl.RemoteCertificate.Subject
$tcp.Close()
O certificado deve ser emitido para *.outlook.com ou autodiscover.outlook.com por uma CA Microsoft (Microsoft IT CA ou DigiCert). Se o certificado for inválido ou diferente, pode haver um proxy SSL a interceptar o tráfego.
6. Passo 4 — Validar Autenticação Moderna (Modern Auth)
O Office 365 requer autenticação moderna (OAuth 2.0 / Modern Authentication). A autenticação básica (Basic Auth) foi descontinuada no Exchange Online em Outubro 2022. Se o Outlook tenta autenticar com Basic Auth, a ligação falha mesmo que o Autodiscover esteja correcto.
6.1 Verificar se Modern Auth está activa no tenant
Liga ao Exchange Online PowerShell:
Connect-ExchangeOnline# Verificar estado de Modern Auth
Get-OrganizationConfig | Select-Object OAuth2ClientProfileEnabled
O valor esperado é True. Se for False, activa:
6.2 Verificar chaves de registo de autenticação no cliente
No computador cliente, verifica se há chaves que forçam autenticação básica:
Get-ItemProperty -Path “HKLM:\SOFTWARE\Microsoft\Office\16.0\Common\Identity” -ErrorAction SilentlyContinue
A chave EnableADAL deve ser 1 (activa Modern Auth). Se for 0 ou não existir em clientes antigos, o Outlook pode estar a tentar Basic Auth.
6.3 Tabela de Diagnóstico de Autenticação
| Sintoma | Causa provável | Resolução |
|---|---|---|
| Popup de credenciais repetido | Basic Auth descontinuado | Verificar EnableADAL=1, actualizar Office |
| “A ligação ao Exchange não está disponível” | Modern Auth não activa no tenant | Activar via Set-OrganizationConfig (ver secção 6.1) |
| Erro 0x8004deb5 | Problema token AAD | Limpar cache: dplickey no cliente |
| Erro 0x800CAA01 | Token expirado / MFA interrompe | Re-autenticar: fechar Outlook, limpar credenciais Windows |
| Funciona no browser (OWA) mas não no Outlook | Cliente não suporta Modern Auth | Actualizar para Office 2016+ ou Microsoft 365 Apps |
7. Passo 5 — Diagnosticar com Test-OutlookWebServices
O cmdlet Test-OutlookWebServices (disponível no Exchange Online PowerShell) testa o fluxo Autodiscover end-to-end — simula um pedido real de cliente e verifica a resposta.
Connect-ExchangeOnline# Testar Autodiscover para uma caixa de correio específica
Test-OutlookWebServices -Identity “[email protected]” | Format-List
O output mostra cada passo do fluxo Autodiscover:
Type : Autodiscover
Result : Success
Error :
Se o resultado for Failure, o campo Error contém a mensagem específica. Os erros mais comuns:
| Erro | Significado | Camada afectada |
|---|---|---|
The Autodiscover service couldn't be located |
DNS ou SCP incorrectos | Passo 1 ou 2 |
The remote server returned an error: (401) Unauthorized |
Autenticação falhou | Passo 4 |
The remote server returned an error: (403) Forbidden |
Acesso bloqueado / CA policy | Passo 4 ou firewall |
Could not establish trust relationship |
Certificado TLS inválido | Passo 3 |
The operation has timed out |
Firewall/proxy a bloquear | Passo 3 |
8. Passo 6 — Verificar Conditional Access e Firewall
Mesmo com DNS, SCP, HTTPS e autenticação correctos, políticas de Conditional Access no Microsoft Entra ID podem bloquear a ligação Autodiscover.
8.1 Verificar políticas de Conditional Access
No portal Microsoft Entra (entra.microsoft.com), navega para Protection → Conditional Access. Verifica se há políticas que:
- Bloqueiam ligações de IPs não confiáveis
- Exigem dispositivo compliant (Intune) para aceder ao Exchange Online
- Exigem MFA que o cliente Outlook não consegue satisfacer (ex: certificado de hardware)
Uma política mal configurada pode bloquear o Autodiscover mesmo que toda a infraestrutura DNS/SCP/HTTPS esteja correcta.
8.2 Verificar endpoints necessários no firewall
Os endpoints que o Outlook precisa de aceder para Autodiscover no Office 365:
| Endpoint | Protocolo | Porta | Uso |
|---|---|---|---|
autodiscover.outlook.com |
HTTPS | 443 | Autodiscover principal |
outlook.office365.com |
HTTPS | 443 | Ligação MAPI/HTTP à caixa |
outlook.office.com |
HTTPS | 443 | Outlook na web (OWA) |
login.microsoftonline.com |
HTTPS | 443 | Autenticação OAuth/Modern Auth |
*.protection.outlook.com |
HTTPS | 443 | Anti-spam/anti-malware |
A lista completa e actualizada de endpoints está em (Microsoft Learn — URLs e IP ranges O365).
8.3 Testar conectividade a todos os endpoints
Para testar rapidamente todos os endpoints numa só execução:
“autodiscover.outlook.com”,
“outlook.office365.com”,
“outlook.office.com”,
“login.microsoftonline.com”
)
foreach ($ep in $endpoints) {
$result = Test-NetConnection -ComputerName $ep -Port 443 -WarningAction SilentlyContinue
Write-Host “$ep : TcpTest=$($result.TcpTestSucceeded) IP=$($result.RemoteAddress)”
}
9. Outras Causas de Falha do Autodiscover
Nem todos os problemas de Autodiscover vêm de DNS, SCP ou autenticação. Outras causas a considerar:
- Proxy HTTP com autenticação: Se a organização usa proxy com autenticação, o Outlook pode não conseguir enviar credenciais do proxy ao pedido Autodiscover. Verificar definições de proxy em Settings → Network → Proxy, e a variável de ambiente
HTTP_PROXY. Documentado em (Microsoft Learn — Outlook troubleshooting). - Perfil Outlook corrupto: Um perfil existente com cache de Autodiscover antigo pode impedir a descoberta correcta. Solução: criar perfil novo em Control Panel → Mail → Show Profiles → Add.
- Domínio não verificado no tenant: Se o domínio ainda não foi verificado no Microsoft 365 admin center, o Autodiscover responde mas não encontra a caixa. Verificar em admin.microsoft.com → Settings → Domains.
- Split-brain DNS: Se o DNS interno resolve
autodiscover.dominio.ptpara um IP diferente do DNS público, o Outlook no escritório pode ir para o servidor errado. Verificar comResolve-DnsNamede dentro e fora da rede corporativa. - Cached Exchange Mode com cache corrompido: Mesmo que o Autodiscover funcione, um cache OST corrompido impede a sincronização. Sintoma diferente de Autodiscover mas muitas vezes confundido. Correr
Outlook.exe /cleanprofileou recriar o perfil. - Versão do Outlook desactualizada: Outlook 2010 e 2013 não suportam Modern Auth correctamente sem patches específicos. Mínimo recomendado: Outlook 2016 com as últimas actualizações, ou Microsoft 365 Apps.
10. Como Evitar Problemas de Autodiscover no Futuro
Práticas para manter o Autodiscover saudável em ambientes migrados para O365:
- Documentar a transição: Quando migrar de Exchange on-premises para O365, documentar o processo de remoção de SCPs. Sem documentação, os SCPs esquecidos causam problemas meses depois.
- Remover SCPs antes de descomissionar: Remover todos os SCPs de Autodiscover do AD antes de desligar o último Exchange on-premises. Se não o fizeres, os clientes continuam a tentar ligar a um servidor que já não existe.
- Monitorizar registos DNS: Configurar alertas para mudanças no registo CNAME
autodiscover. Uma alteração acidental neste registo quebra todos os clientes Outlook do domínio. - Manter Office actualizado: As últimas versões do Outlook 2016+ suportam Modern Auth nativamente. Versões mais antigas exigem patches específicos e configuração manual de chaves de registo.
- Testar com RCA antes de abrir tickets: O Microsoft Remote Connectivity Analyzer (testconnectivity.microsoft.com) identifica o problema em 2 minutos e gera um relatório que podes anexar ao ticket de suporte, reduzindo o tempo de resolução.
- Usar perfis de teste: Manter uma conta de teste no tenant para validar o fluxo Autodiscover periodicamente. Se essa conta configurar automaticamente, o Autodiscover está funcional.
Checklist Antes de Aplicar em Produção
Antes de aplicar qualquer comando deste artigo em ambiente produtivo, confirma:
- Versão do Outlook no cliente (mínimo 2016 com últimas actualizações, recomendado Microsoft 365 Apps): verificar em File → Office Account → About Outlook
- Domínio verificado no tenant (admin.microsoft.com → Settings → Domains): o domínio da caixa de correio deve estar verificado
- Ligação ao Exchange Online PowerShell disponível (para Passos 5 e 6):
Connect-ExchangeOnlinecom conta admin - Permissões de admin no Active Directory (para Passo 2 — SCPs): Domain Admin ou delegação na OU dos servidores Exchange
- Staging environment disponível — um cliente de teste e uma conta de teste no tenant para validar o fluxo antes de aplicar mudanças a todos os utilizadores
- Backup do estado antes de alterar registos DNS ou remover SCPs: export dos registos DNS atuais e screenshot dos SCPs do AD antes de remover
Artigos Relacionados
- Autodiscover Outlook: Falha e Diagnóstico DNS — Artigo base sobre diagnóstico de DNS para Autodiscover, complementar a este para casos onde o problema é especificamente DNS
- Autodiscover Outlook: Office 365 vs Hosted Exchange — Guia sysadmin sobre diferenças entre Autodiscover O365 e Hosted Exchange, útil quando se migra de um fornecedor para outro
- Outlook Caixa de Correio Temporária ao Adicionar Domínio O365 — Sintoma específico onde o Outlook cria uma caixa temporária em vez de ligar ao O365, causado por registo Autodiscover incorrecto
- Problemas Email Microsoft Hotmail Outlook M365 — Visão geral de problemas de email em contas Microsoft, inclui cenários de Autodiscover para contas pessoais
