CMDlet pose problème si plusieurs GPO avec des paramètres de mot de passe
La CMDlet Set-ADDefaultDomainPasswordPolicy
réalise deux choses :
- modification dans l'Active Directory de l'attribut associé
- modification du fichier
\\<sysvolPath>\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdi\GptTmpl.inf
Cependant, si la commande modifie un attribut qui n'est pas présent dans la GPO Default Domain Policy, il ne sera pas écrit dans le fichier de la GPO et sera écrasée si une autre GPO dispose de ce paramètre.
Un exemple pour expliquer ce cas :
- j'ai la GPO
Default Domain Policy
liée au niveau du domaine. Elle définit uniquement minPwdAge=1 et maxPwdAge=100. Le reste est enNon défini
. - j'ai une GPO
Pass-History-Length
liée au niveau du domaine. Elle définit la longueur minimale : minPwdLength = 10. Le reste est enNon défini
.
J'utilise PowerShell pour modifier la longueur minimale :
Get-ADDefaultDomainPasswordPolicy | Set-ADDefaultDomainPasswordPolicy -MinPasswordLength 8
Le résultat est :
- l'attribut
minPwdLength
à la racine du domaine est bien modifié à 8 caractères - mais comme ce paramètre n'est pas présent dans le Default Domain Policy, le fichier
GptTmpl.inf
de la GPO Default Domain Policy n'est pas modifié. Ainsi, lors de la prochaine mise à jour complète des GPO (redémarrage DC ougpupdate /force
), le paramètre de la GPOPass-History-Length
sera prioritaire et écrasera minPwdLength dans l'AD qui repassera à 10.
Information : attributs AD modifiées par la stratégie de mot de passe
Les paramètres AD sont :
- lockoutDuration
- lockOutObservationWindow
- lockoutThreshold
- maxPwdAge
- minPwdAge
- minPwdLength
- pwdHistoryLength
- pwdProperties (notamment pour ComplexityEnabled et ReversibleEncryptionEnabled , voir https://learn.microsoft.com/en-us/windows/win32/adschema/a-pwdproperties)
Clap
Comments