Bonjour à tous, avant tout bonne année c'est de rigueur.

Voila mon problème, j'utilise au quotidien une base de données SQL Serveur, sur laquelle viennent se connecter de nombreux utilisateurs. Une politique de sécurité a été appliquée récemment avec expiration des mots de passe.

A l'ouverture de l'application, suivant le message renvoyé par SQL :
- je connecte mon utilisateur au système.
- j'ouvre une fenêtre pour que mon utilisateur modifie son mot de passe.

Problème, si l'utilisateur se connecte à 08h00 et que son mot de passe expire à 09h00.
L'utilisateur n'a pas de problème pour se connecter mais à partir de 09h00 il aura plein d'erreur SQL.

Ma solution serait de forcer l'utilisateur à modifier son mot de passe 2 jours avant le délais obligatoire. J'ai donc créé une procédure stockée qui récupère la date de modification du mot de passe que je récupère dans "sys.sql_logins" champ "modify_date" à laquelle je rajoute les 90 jours fixés par la stratégie locale de sécurité du serveur moins les deux jours.


Mes questions sont donc :
- comment obtenir la valeur contenue dans la GPO (les fameux 90 jours) car si cette valeur évolue, je dois modifier ma procédure stockée, ce qui n'est pas propre. Je suppose qu'il existe une table système contenant cette valeur mais je ne la trouve pas.
- Pour la date de modification du mot de passe, suis je bon ?? (sys.sql_logins ou sys.server_principals ou une autre )
- n'y a il pas un requête existante dans sql serveur pour avoir ça directement du genre Windows : "Il vous reste 10 jours ..."


Bien cordialement