Cela dépend de la configuration du contrôleur de domaine. Vous pouvez essayer :
net ads user info [email protected] -S DC_SERVER_NAME -U USERNAME
où [email protected] est le compte à partir duquel recueillir des informations, DC_SERVER_NAME est le nom d'hôte de votre contrôleur de domaine et USERNAME est votre nom d'utilisateur.
Vous serez invité à saisir le mot de passe de votre domaine.
Maintenant, vous obtenez soit des informations sur votre compte, y compris la date d'expiration de votre mot de passe, soit vous obtenez
ads_pull_uint32 failed
dans ce cas, votre contrôleur de domaine n'est pas configuré pour fournir des informations de compte à des systèmes de type UNIX.
Vous pouvez contacter votre administrateur de domaine pour le convaincre d'installer et de configurer les services Microsoft Windows pour UNIX afin que cette commande vous donne les informations nécessaires.
Cette réponse pourrait être frustrante. C'est pour moi car je suis dans la même situation et j'ai beaucoup étudié le sujet.
Ma solution de contournement :je définis un rappel de calendrier 80 jours dans le futur, lorsque je définis mon mot de passe de domaine (smbpasswd -U USERNAME -r DC_SERVER_NAME), car il expire tous les 90 jours. Pas parfait, mais réalisable.
[MISE À JOUR] J'ai trouvé un moyen de déterminer la date d'expiration de votre mot de passe de domaine avec rpcclient, voici mon script :
#!/bin/bash
# author: Tim Wahrendorff 2016
# licence: Public Domain - https://wiki.creativecommons.org/wiki/Public_domain
#
# To use this script you need at least:
# sudo apt-get install libnotify-bin rpcclient
#
# Please set your account, password and domaincontroller to use this script
USER="username" # Domain accountname
PASS="Pa$$W0rd" # Domain password
DC="vmdc01" # Domaincontroller
### START RPCCLIENT query
if [ "x$USERDCID" == "x" ]; then
RPCLOOKUPID=$(rpcclient -U $USER%$PASS -c "lookupnames $USER" $DC 2> ./rpc_errFile)
USERDCID=$(echo "$RPCLOOKUPID" | grep -e '[0-9]\{4,9\} ' -o)
fi
QUERYUSER=$(rpcclient -U $USER%$PASS -c "queryuser $USERDCID" $DC 2> ./rpc_errFile)
EXPDATE=$(echo "$QUERYUSER" | grep 'Password must change Time' | grep -e '[a-Z]\{2\}, [0-9]\{2\} [a-Z]\{3\} [0-9]\{4\} [0-9]\{2\}:[0-9]\{2\}' -o)
## Load rpc error Message
RPCERR=$(<./rpc_errFile)
## send notifications to Unity Desktop
if [ "x$RPCERR" != "x" ]; then
notify-send -i /usr/share/icons/gnome/48x48/status/dialog-error.png "Error while fetching expiration date of your domain password" "$RPCERR"
else
notify-send -i /usr/share/icons/gnome/48x48/status/dialog-information.png "your domain password expires at " "$EXPDATE h"
fi
### END RPCCLIENT query
J'ai configuré ce script pour qu'il s'exécute au démarrage automatique, je me montre quand mon mot de passe de domaine expirera dans une notification Unity. N'hésitez pas à étendre, améliorer et republier ce script, il est du domaine public.
[/MISE À JOUR]
Sous Linux, vous pouvez utiliser pdbedit
pdbedit -L -v -u <username>
Et recherchez la ligne :Le mot de passe doit changer