Comment effacer les identifiants de domaine mis en cache ?

En rapport : Comment activer l’authentification de domaine via le Wi-Fi sous Windows 7/2k8 ?

Pour tester la fonctionnalité de connexion au domaine via une connexion sans fil que j’essaie de configurer dans la question ci-dessus, j’ai besoin d’un compte dont les identifiants de domaine n’ont pas été mis en cache sur le système local. Malheureusement, il n’y a qu’un nombre limité de personnes dans mon bureau qui pourraient m’aider à tester cela, et même dans ce cas je préférerais ne pas les déranger. Je voudrais donc pouvoir effacer mes propres identifiants mis en cache après chaque connexion.

Comment puis-je effacer le cache local, tout en conservant la possibilité de mettre en cache les identifiants à l’avenir ?

La réponse de David Yu est plutôt juste, mais il existe un moyen de le faire sans modifier directement le registre. Cependant, cela ne fonctionnera que si le paramètre n’est pas configuré par GPO.

Tout d’abord, j’aimerais indiquer où les données d’identifiants mis en cache sont stockées. Cela aidera à démontrer (et, à des fins de dépannage, à vérifier) l’effet des modifications de configuration.

AVERTISSEMENT : J’ai trouvé cette information à plusieurs endroits sur Internet, dont la plupart recommandaient de ne pas modifier ces valeurs manuellement.

La clé de registre qui stocke les connexions de domaine mises en cache est masquée même aux administrateurs. Elle n’est accessible que par le compte SYSTEM. Par conséquent, pour la visualiser, vous aurez besoin d’un outil comme psexec (disponible chez Microsoft, mais non installé par défaut) qui vous permettra d’exécuter regedit en tant que SYSTEM. La ligne de commande pour cela (en supposant qu’il est installé et dans votre %PATH%) est :

psexec -d -i -s regedit

Une fois dedans, naviguez jusqu’à HKLM\SECURITY\Cache\. Ici, vous devriez voir plusieurs valeurs BINARY. Il y en aura une nommée NL$Control, et d’autres nommées NL$## pour chaque emplacement disponible pour les identifiants mis en cache. (Par défaut 10)

Encore une fois, je tiens à souligner que vous ne devez pas modifier ou supprimer manuellement cette clé ou ses valeurs.

Alors, maintenant que nous savons où les données sont mises en cache, et que nous ne devons pas y toucher, comment les effacer ?

Encore une fois, la réponse de David Yu vous orientera vers la bonne clé de registre. Mais, si vous préférez ne pas modifier directement le registre, il existe un autre moyen via la stratégie de sécurité locale.

secpol.msc

Dans l’arborescence des paramètres de sécurité, naviguez jusqu’à Stratégies locales\Options de sécurité. Ici, vous trouverez une stratégie appelée Ouverture de session interactive : nombre de connexions précédentes à mettre en cache (au cas où le contrôleur de domaine ne serait pas disponible).

Par défaut, la valeur est 10 connexions. Pour effacer le cache, définissez-la à zéro et cliquez sur OK. Sur Server 2008, cela prend effet immédiatement. Pour Server 2003, vous devrez redémarrer. L’effet peut être constaté dans HKLM\SECURITY\Cache\ où il n’y aura plus de valeurs NL$##.

Pour réactiver la mise en cache des identifiants, modifiez la même stratégie pour refléter votre valeur préférée et cliquez sur OK. Encore une fois, si vous êtes sur Server 2008, cela prendra effet immédiatement. Server 2003 nécessitera un redémarrage. Notez que, si vous faites cela sur Server 2008 et que vous ne vous êtes pas déconnecté ou n’avez pas redémarré, vous pouvez voir que les emplacements de cache ont été restaurés mais qu’aucune donnée réelle ne s’y trouve.

Faire cela sans déconnexion ni redémarrage sur Server 2008 peut être utile si vous voulez juste effectuer une vérification rapide et ponctuelle d’une fonctionnalité nécessitant la désactivation temporaire de la mise en cache des identifiants. Cela aide aussi à s’assurer que vous n’oubliez pas de rétablir le paramètre après votre prochaine connexion.