In TFS 2010 è stato introdotto un meccanismo di sincronizzazione automatica dei nomi utente tra Active Directory e TFS. Per utilizzarlo bisogna attivare la proprietà syncnamechanges sul tipo desiderato all’interno di una ProjectCollection.
- per verificare lo stato di questo settaggio per un campo tipo Custom.ReviewedBy utilizzare la seguente sintassi:
- witadmin listfields /collection:http://tfsserver:8080/tfs/DefaultCollection /n:Custom.ReviewedBy
- per abilitare questo settaggio per un campo tipo Custom.ReviewedBy utilizzare la seguente sintassi:
- witadmin changefield /collection:http://tfsserver:8080/tfs/DefaultCollection /n:Custom.ReviewedBy /syncnamechanges:true
Nota Advanced: spiego meglio il funzionamento prendendo ad esempio un campo tipo ReviewedBy e le tabelle del database TFS_Warehouse. Il campo stringa ReviewedBy prima dell’applicazione del syncnamechanges è presente come stringa nella tabella DimWorkItem. Dopo l’applicazione del syncnamechanges il campo stringa viene eliminato dalla tabella DimWorkItem e viene sostituito da una ForeignKey denominata ReviewedBY__PersonSK che viene collegata alla tabella DimPerson. La tabella DimPerson contiene l’elenco degli utenti che vengono sincronizzati con i vari domini Active Directory. Analizzando la tabella vederete che contiene il SID e il Dominio d’appartenenza dell’utente. In questo modo il meccanismo di aggiornamento degli utenti aggiorna automaticamente tutti i campi correlati tramite FK.
Attenzione: questo meccanismo di sincronizzazione porta in TFS anche gli utenti che risultano Disabled all’interno di Active Directory.