Ciao Cesare,
il comportamento che descrivi è tipico quando la garbage collection di Active Directory non riesce più a liberare correttamente gli oggetti contrassegnati come tombstoned. In questi casi è possibile forzare manualmente il processo utilizzando ntdsutil.
Per avviare la garbage collection manuale, apri un prompt dei comandi con privilegi elevati sul Domain Controller e digita:
ntdsutil
activate instance ntds
files
go gc
Il comando go gc forza immediatamente la garbage collection sull’istanza NTDS attiva. Al termine, puoi uscire con quit fino a tornare al prompt.
Tieni presente che la garbage collection non riduce direttamente la dimensione del file ntds.dit. Gli oggetti tombstoned vengono rimossi dal database logico, ma lo spazio rimane allocato finché non viene eseguita una deframmentazione offline. Se il tuo obiettivo è ridurre fisicamente la dimensione del file, dovrai arrestare il servizio Active Directory Domain Services, avviare ntdsutil, e usare il comando compact to <path> per creare una nuova copia deframmentata del database. Successivamente sostituisci il vecchio ntds.dit con quello compatto, seguendo la procedura ufficiale Microsoft.
Prima di procedere con la deframmentazione offline, assicurati di avere un backup completo e funzionante del Domain Controller, perché si tratta di un’operazione delicata. Inoltre, verifica che la retention dei tombstone sia configurata correttamente (valore predefinito 180 giorni, modificabile tramite il parametro tombstoneLifetime in CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,...).
In sintesi: ntdsutil → activate instance ntds → files → go gc forza la garbage collection, ma se vuoi ridurre la dimensione fisica del database devi eseguire la compattazione offline.
Spero tu abbia trovato indicazioni utili. Se ti aiuta a chiarire meglio il problema, è gradito accettare la risposta. Per ulteriori dubbi lascia pure un messaggio. Buona giornata!
HL.