Depuis son origine le système Windows stocke, en interne, la date et l'heure, sous forme d'un entier de 64 Bits. Cet entier représente le nombre de paquets de 100 nanosecondes depuis le premier janvier 1601 à 00:00:00. Evidement ce principe, bien connu des développeurs n'est pas apparent pour l'utilisateur. Les administrateurs se trouvent parfois confrontés à ce codage dans la base de registre ou dans l'annuaire Active Directory. Pour ce dernier ADSIEDIT.MSC transpose les entiers de 64 bits en dates (ce n'est pas le case de LDP.EXE) mais il ne modifie pas les champs de durées.
L'outil SlxWinDFI.exe permet de convertir une date en un entier de 64 bits et vice versa. Il permet aussi de calculer une durée en paquets de 100 nanosecondes.
Pour information (ou rappel) les champs de l'annuaire représentant des durée sont stockée en prenant la valeur négative du nombre de paquets de 100 nanosecondes associés.
Soit le tableau de correspondance suivant:
Tableau de correspondances
| Durée |
paquets de 100 nanosecondes |
| 1 jours |
864000000000 |
| 1 heure |
36000000000 |
| 1 minute |
600000000 |
| 1 seconde |
10000000 |
| 1 milliseconde |
10000 |
Exemple : la dureé 18heures 10minutes s'éctit donc : - 654000000000
Si vous êtes intéressés par la "Fine Grained Password Policy" les champs tels que "msDS-MaximumPasswordAge", "msDS-MinimumPasswordAge", "msDS-LockoutObservationWindow", "msDS-LockoutDuration" s'expriment sous forme de durée.
