Su PC Windows in dominio Active Directory può apparire l’errore “The trust relationship between this workstation and the primary domain failed”. In questa guida spieghiamo cause, diagnostica, soluzioni rapide e prevenzione, con procedure PowerShell e checklist operative per ambienti piccoli e grandi.
Scenario e sintomi
In un dominio con controller Windows Server 2019 e ~100 client Windows 10 (più qualche server 2012 R2), alcuni utenti non riescono ad accedere al log‑on di Windows. Sullo schermo compare:
The trust relationship between this workstation and the primary domain failed
Il problema talvolta ricompare dopo aver rimosso e riaggiunto il computer al dominio e, in alcuni casi, subito dopo un cambio password dell’utente.
Che cos’è la “relazione di trust” del computer
Ogni computer unito al dominio possiede un account macchina in Active Directory con una password del canale protetto (secure channel). Questa password è gestita automaticamente dal sistema operativo e, per impostazione predefinita, viene rinnovata circa ogni 30 giorni. La comunicazione autenticata fra il client e i Domain Controller avviene tramite questo canale, sfruttando Kerberos (o NTLM in casi particolari). I Domain Controller mantengono la password corrente e anche quella precedente per tollerare un singolo “salto” di sincronizzazione.
Se la password memorizzata sul client non coincide con quella dell’oggetto computer in AD (o se la sincronizzazione oraria supera la tolleranza Kerberos), la workstation non può stabilire il canale sicuro e il logon al dominio fallisce.
Cause tecniche frequenti
- Skew dell’orario superiore a 5 minuti tra client e DC (Kerberos rifiuta i ticket fuori tolleranza).
- Snapshot/rollback di VM o ripristini di backup che riportano indietro la password macchina del client o del DC.
- Replica AD in ritardo o incongruenze tra i Domain Controller.
- Client lontani o spesso offline (laptop) che non contattano i DC per lunghi periodi: il DC potrebbe aver ruotato più volte la password.
- Connettività/DNS non corretti (client che usano DNS pubblici o misti invece dei DNS di dominio).
- Unione al dominio clonata (immagini non generalizzate): più PC derivati da una VM già unita al dominio.
- RODC in filiale con Password Replication Policy non adeguata: il computer non riesce ad autenticarsi offline.
- Reset della password macchina su un DC specifico e logon contro un altro DC prima che la replica termini.
Diagnostica rapida (runbook per help desk)
- Verifica orario:
w32tm /query /status w32tm /query /peers
Correggi puntando alla gerarchia di dominio:w32tm /config /syncfromflags:domhier /update
e poiw32tm /resync /rediscover
. - Verifica DNS (solo DNS AD, niente DNS pubblici):
ipconfig /all nslookup -type=SRV ldap.tcp.dc.msdcs.<dominiofqdn>
- Connettività verso i DC: ping, porte 88/135/389/445/3268/464/5722 raggiungibili (firewall/VPN?).
- Stato replica AD (esegui da un DC):
repadmin /replsummary repadmin /showrepl dcdiag /v
- Test del canale sicuro sul client:
nltest /scquery:<DOMINIONETBIOS> nltest /scverify:<DOMINIONETBIOS>
In PowerShell:Test-ComputerSecureChannel -Verbose
- Ticket Kerberos:
klist klist purge
- Event Viewer (cliente):
- System > Netlogon: 5719, 5722, 5805, 3210.
- System > Kerberos: evento 4 (
KRBAPERR_MODIFIED
). - System > Time-Service: avvisi di mancata sincronizzazione.
Soluzioni rapide e sicure
Riparazione senza rimuovere il PC dal dominio (consigliata)
Dal client, con un account amministrativo locale o credenziali di dominio con diritti adeguati, rigenera la password macchina puntando a un DC specifico (meglio nel site del client o il PDC Emulator in presenza di latenza/replica lenti):
# PowerShell
Reset-ComputerMachinePassword -Server <DC_FQDN>
In alternativa:
Test-ComputerSecureChannel -Repair -Server \ -Credential (Get-Credential)
Oppure via CMD:
netdom resetpwd /server:<DCFQDN> /userd:<DOMINIO\utenteadmin> /passwordd:*
Al termine, riavvia la macchina. In molte situazioni è sufficiente anche il riavvio del servizio Netlogon (net stop netlogon && net start netlogon
), ma un reboot assicura il rinnovo completo dei ticket e delle sessioni.
Reimpostare l’account computer da ADUC
- Apri Active Directory Users and Computers.
- Click destro sull’oggetto computer → Reset Account.
- Riavvia il client e prova l’accesso.
Questo metodo rigenera la password sul lato AD. Se il client tenta il logon contro un DC diverso prima che la replica si propaghi, potresti dover forzare la replica o puntare il comando di reset direttamente al DC più vicino.
Rimuovere e riaggiungere il PC al dominio (ultima spiaggia)
- Accedi con account locale amministrativo (non di dominio).
- Impostazioni di sistema → Rinomina questo PC (avanzate) → imposta temporaneamente il Workgroup.
- Riavvia → reinserisci nel Dominio con credenziali adeguate.
Questa soluzione funziona ma è più lenta, comporta due riavvii e può impattare criteri, profili vagamente mappati e software con binding al SID macchina. Di norma non è necessaria se il reset del canale sicuro riesce.
Prevenzione e “fix” permanente
Area | Azione consigliata | Comandi di verifica |
---|---|---|
Sincronizzazione oraria | Allinea l’intera foresta usando la gerarchia AD. Il PDC Emulator del dominio radice deve sincronizzare con una fonte NTP affidabile. | w32tm /query /status , w32tm /resync /rediscover |
DNS di dominio | Configura i client per usare solo i DNS AD (niente DNS pubblici o misti). Disabilita “Append DNS suffixes” incoerenti. | ipconfig /all , nslookup -type=SRV kerberos.tcp.<dominio> |
Replica AD | Monitora e risolvi backlog tra i DC; assegna i client al site corretto (subnet in Sites and Services). | repadmin /replsummary , repadmin /showrepl |
Backup & snapshot | Evita snapshot di VM già unite al dominio. Prima della clonazione esegui sysprep /generalize o disunisci dal dominio. | Procedure interne & checklist di hypervisor |
Criteri di gruppo | Per laptop spesso offline, valuta l’estensione della rotazione: Domain member: Maximum machine account password age (fino a 999 giorni). Non disabilitare la rotazione. | GPMC → Security Options |
Monitoraggio proattivo | Esegui periodicamente Test-ComputerSecureChannel su tutti i client e invia alert. Integra in SIEM. | Script PowerShell programmati, Task Scheduler |
Script PowerShell pronti all’uso
Ripara la macchina locale puntando al DC “migliore”
$dc = (Get-ADDomainController -Discover -NextClosestSite).HostName
try {
Write-Host "Reset della password macchina contro $dc..."
Reset-ComputerMachinePassword -Server $dc -ErrorAction Stop
Write-Host "Operazione completata. Riavviare il computer."
} catch {
Write-Warning "Reset fallito: $($_.Exception.Message)"
Write-Host "Tentativo con Test-ComputerSecureChannel -Repair..."
Test-ComputerSecureChannel -Repair -Server $dc -Credential (Get-Credential)
}
Ripara in remoto un gruppo di PC (WinRM abilitato)
$computers = Get-Content .\pc-da-riparare.txt # un nome per riga
$cred = Get-Credential # credenziali dominio con diritti admin locali
Invoke-Command -ComputerName $computers -ScriptBlock {
param($dc)
try {
Reset-ComputerMachinePassword -Server $dc -ErrorAction Stop
"OK;$env:COMPUTERNAME"
} catch {
"KO;$env:COMPUTERNAME;$($_.Exception.Message)"
}
} -ArgumentList ((Get-ADDomainController -Discover -NextClosestSite).HostName) -Credential $cred |
Out-File .\esito-reset.csv -Encoding UTF8
Health check massivo e report CSV
Import-Module ActiveDirectory
$targets = Get-ADComputer -Filter { Enabled -eq $true -and OperatingSystem -like "Windows*" } -SearchBase "OU=Workstations,DC=contoso,DC=local" |
Select-Object -ExpandProperty Name
$cred = Get-Credential
$result = foreach($c in $targets){
try{
$ok = Invoke-Command -ComputerName $c -Credential $cred -ScriptBlock { Test-ComputerSecureChannel } -ErrorAction Stop
[pscustomobject]@{Computer=$c; SecureChannel=$ok}
} catch {
[pscustomobject]@{Computer=$c; SecureChannel=$false}
}
}
$result | Export-Csv .\securechannel-report.csv -NoTypeInformation -Encoding UTF8
Casi particolari e best practice
Laptop spesso offline
Se i portatili restano fuori sede per mesi, la password macchina può desincronizzarsi rispetto ai DC. Puoi:
- Estendere il valore di Domain member: Maximum machine account password age (es. 90–180 giorni).
- Assicurare connettività periodica via VPN always‑on o “device tunnel” per consentire il renewal.
- Evitare di settare
DisablePasswordChange=1
(registroHKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
): è sconsigliato per la sicurezza.
RODC (Read‑Only Domain Controller)
In filiale con RODC e link WAN instabile:
- Prepopola la Password Replication Policy includendo i computer della filiale.
- Garantisci che il RODC possa replicare periodicamente; in caso di rottura ricorri a
Reset-ComputerMachinePassword -Server <RODC_FQDN>
localmente.
Snapshot e imaging
Mai clonare o eseguire snapshot/rollback di VM già unite al dominio. Per immagini di riferimento usa Sysprep con /generalize
oppure disunisci dal dominio prima dello snapshot.
Replica e scelta del DC
Se il problema si presenta subito dopo un reset, punta i comandi al DC di sito del client o al PDC Emulator per ridurre il rischio di mismatch temporaneo. Puoi individuare il PDC con:
netdom query fsmo
In PowerShell:
(Get-ADDomain).PDCEmulator
Kerberos vs NTLM
La rottura del canale sicuro impatta sia Kerberos sia NTLM. Se l’utente riesce ad accedere grazie ai cached logons (criterio “Interactive logon: Number of previous logons to cache”), l’accesso alle risorse di rete fallirà comunque fino al ripristino del secure channel.
Messaggi simili da non confondere
- “The security database on the server does not have a computer account for this workstation trust relationship”: l’account esiste? Verifica l’oggetto computer in AD (potrebbe essere stato eliminato o rinominato).
KRBAPERR_MODIFIED
su file server: spesso è SPN duplicato o password macchina non allineata del server, non del client.
Tabella eventi utili (client e DC)
Origine | ID | Significato | Azione |
---|---|---|---|
Netlogon | 5719 | Nessun DC disponibile | DNS, rete, firewall, VPN |
Netlogon | 5722 | Autenticazione computer fallita | Reset password macchina |
Netlogon | 5805 | Il DC rifiuta l’autenticazione del computer | Controllo oggetto computer/replica |
Netlogon | 3210 | Impossibile autenticarsi con DC specifico | Connettività verso quel DC |
Kerberos | 4 | KRBAPERR_MODIFIED (ticket non valido) | SPN/password macchina, tempo |
Time-Service | 36/47 | Time service non sincronizzato | Correggi W32Time/NTP |
Procedura guidata: flusso decisionale
- Guasto singolo o diffuso? Se molti PC: partire da tempo/DNS/replica. Se singolo: passa al punto 2.
- Test secure channel:
Test-ComputerSecureChannel
/nltest /sc_verify
. - Ripara con
Reset-ComputerMachinePassword
(target DC locale). - Se fallisce, usa
netdom resetpwd
con credenziali di dominio. - Se ancora KO: Reset Account da ADUC e riavvia il client.
- Ultima spiaggia: disunisci/reinserisci nel dominio (due riavvii).
Domande frequenti
Perché il problema si presenta dopo il cambio password dell’utente?
Il cambio della password utente è spesso coincidente con una fase di contatto con il DC: se il client o i DC hanno tempi sfasati o la replica è lenta, emergono subito problemi di trust già latenti.
Perdo i profili locali se rimuovo e riaggiungo il PC al dominio?
No, i profili utente sono legati ai SID degli utenti, non al SID della macchina. Tuttavia software o criteri legati alla membership potrebbero richiedere un refresh.
Posso evitare il riavvio?
A volte sì, riavviando Netlogon e rigenerando i ticket (klist purge
). Ma per certezza operativa (servizi, driver, cache) è consigliato un reboot.
Ha senso disattivare la rotazione della password macchina?
No, è una pratica da evitare: riduce la sicurezza e non risolve le cause (tempo, replica, snapshot). Usala solo in scenari eccezionali e isolati, documentando il rischio.
Funziona anche su Windows 11 o server più recenti?
Sì. I comandi e le logiche descritte sono valide per client Windows 10/11 e server moderni (2016+). Le GUI possono differire leggermente.
Checklist operativa (copia-incolla per ticket)
- Verifica tempo:
w32tm /query /status
(tolleranza ≤ 5 minuti). - DNS: solo DNS AD configurati nelle schede di rete.
- Connettività verso DC del site locale.
Test-ComputerSecureChannel
→ se False → reset.Reset-ComputerMachinePassword -Server <DC_FQDN>
→ riavvio.- Se persistente: Reset Account da ADUC o
netdom resetpwd
. - Controlla Event Viewer: Netlogon 5719/5722/5805; Kerberos 4.
- Se casi multipli: verifica
repadmin /replsummary
e NTP.
Approfondimento tecnico: cosa succede sotto il cofano
La password macchina è un segreto condiviso tra computer e AD (attributo unicodePwd
nell’oggetto computer). Durante il logon al dominio, la workstation stabilisce un canale sicuro con il DC negoziando le chiavi; Kerberos usa i ticket TGT/TGS legati al tempo del sistema. Se l’orologio è fuori tolleranza, i ticket vengono scartati; se la password macchina è diversa, il DC non firma correttamente i messaggi Netlogon e l’autenticazione fallisce. La presenza della password precedente nel DC consente di recuperare situazioni in cui il client ha aggiornato o meno la password a ridosso della replica. Quando la discrepanza supera un “passo”, hai l’errore di trust.
Riepilogo rapido
- Causa principale: password del canale sicuro non allineata fra client e AD (o tempo fuori tolleranza).
- Fix immediato:
Reset-ComputerMachinePassword
onetdom resetpwd
; in alternativa Reset Account da ADUC, ultima spiaggia rejoin. - Prevenzione: tempo e replica corretti, solo DNS di dominio, niente snapshot di PC uniti al dominio, monitoraggio proattivo e, se serve, aumento dell’intervallo di rinnovo.
Esempi pratici pronti da incollare
Forzare la risincronizzazione oraria client
w32tm /config /syncfromflags:domhier /update
net stop w32time && net start w32time
w32tm /resync /rediscover
Pulizia ticket e riavvio Netlogon
klist purge
net stop netlogon && net start netlogon
Verifica SRV Kerberos/LDAP nel DNS
nslookup -type=SRV kerberos.tcp.<dominio_fqdn>
nslookup -type=SRV ldap.tcp.dc.msdcs.<dominiofqdn>
Matrici di troubleshooting (rapido “causa ↔ azione”)
Indicatore | Possibile causa | Azione |
---|---|---|
5719 su molti client | DC non raggiungibili / DNS errato | Correggi DNS, firewall, routing, VPN |
5722/5805 su client specifico | Password macchina desincronizzata | Reset secure channel (PowerShell/CMD) |
KRBAPERR_MODIFIED su file server | SPN/password macchina del server | Reset password server, verifica SPN duplicati |
Problemi dopo restore VM | Snapshot/rollback | Sysprep/Disjoin prima di snapshot; reset password macchina |
Solo filiale con RODC | PRP non adeguata | Prepopola cache password macchine/utenti |
Ripetuto dopo rejoin | Replica lenta, reset su DC “sbagliato” | Punta al DC locale o PDC; verifica repadmin |
Note di sicurezza e governance
- Mantenere attiva la rotazione della password macchina rafforza la postura di sicurezza del dominio.
- Loggare e monitorare i reset di password macchina come evento di manutenzione: utile in audit per correlare incidenti.
- Documentare le eccezioni (kiosk, DMZ, macchine isolate) e isolarle in OU dedicate con GPO specifiche.
Contenuti essenziali (one‑pager per stampa):
- Comando chiave:
Reset-ComputerMachinePassword -Server <DC_FQDN>
- Verifica:
Test-ComputerSecureChannel -Verbose
- Alternative:
netdom resetpwd
| ADUC → Reset Account | Rejoin (ultima opzione) - Prevenzione: NTP, DNS AD only, replica OK, no snapshot di PC uniti, monitoraggio periodico.