Comment puis-je modifier l'expiration du mot de passe à «jamais» sur Windows XP pour un utilisateur local avec Python? J'ai les modules PyWIN et WMI à bord mais je n'ai pas de solution. J'ai réussi à interroger les paramètres actuels via WMI (basé sur la classe Win32_UserAccount), mais comment le modifier?Comment puis-je modifier l'expiration du mot de passe dans Windows en utilisant Python?
Répondre
Ce changement nécessiterait des autorisations d'administrateur, ce qui peut (ou non) causer des problèmes dans PyWin32. Je ne vois aucune manière simple de faire cette modification à partir d'un script Python, mais je suis sûr que cela peut être automatisé en utilisant une méthode différente.
Ce fil de MSFN semble avoir d'informations qui vous aideront, ou tout au moins un début:
http://www.msfn.org/board/Password-Expires-Chang-t115757.html
Vous pourriez avoir besoin administrateur priviliges de le faire, alors regardez en élevant le processus en cours ou lancer une nouveau processus avec plus de privilèges. (C'est-à-dire quelque chose comme UAC Vista, mais sur XP.)
Ne peut pas aider avec des détails si. : -/
Si vous exécutez votre script python avec ActvePython contre Active Directory, vous pouvez utiliser quelque chose comme ceci:
import win32com.client
ads = win32com.client.Dispatch('ADsNameSpaces')
user = ads.getObject("", "WinNT://DOMAIN/username,user")
user.Getinfo()
user.Put('userAccountControl', 65536 | user.Get('userAccountControl'))
user.Setinfo()
Mais si votre python est en cours d'exécution sous unix, vous avez besoin de deux choses pour parler à Active Directory: Kerberos et LDAP. Une fois que vous avez une connexion LDAP authentifiée SASL (GSSAPI (KRB5)) sur votre serveur Active Directory, vous accédez à l'attribut "userAccountControl" de l'utilisateur cible.
userAccountControl est un attribut entier, traité comme un champ de bit, sur lequel vous devez définir le bit DONT EXPIRE PASSWORD. Voir this KB article pour les valeurs de bit.
Pour les comptes locaux, j'ai trouvé que j'avais besoin de 'userFlags' plutôt que de' userAccountControl'. – Gabe
- 1. Comment modifier un mot de passe Windows via asp?
- 2. Modifier le mot de passe de l'administrateur local en C#
- 3. chiffrage/décryptage d'un mot de passe de temps en python
- 4. Chiffrement du mot de passe
- 5. Masquage du mot de passe de l'utilisateur en HTML Webforms
- 6. Comment récupérer ou modifier le mot de passe Oracle sysdba
- 7. Cryptage du mot de passe
- 8. Comment modifier par programme le mot de passe Active Directory
- 9. Fournir le mot de passe en utilisant le script Shell
- 10. PDF protégé par mot de passe en utilisant C#
- 11. Comment modifier un mot de passe haché en utilisant le fournisseur d'appartenance asp.net si vous ne connaissez pas le mot de passe actuel?
- 12. Modifier le mot de passe dans le Planificateur de tâches du script
- 13. Comment redémarrer à distance un service sur une machine protégée par mot de passe en utilisant Python?
- 14. Python l'impression du mot
- 15. Obtenir le mot de passe du compte ASPNET
- 16. Windows Authentification invite pour nom d'utilisateur/mot de passe
- 17. Cryptage Python: cryptage du mot de passe à l'aide de la clé publique PGP
- 18. Base de données + Authentification Windows + Nom d'utilisateur/Mot de passe?
- 19. Empêcher accidentel checkin du fichier de mot de passe en utilisant git
- 20. Initialisation du args mot-clé en Python
- 21. Démarrage du service en tant qu'utilisateur sans mot de passe
- 22. Comment séparer l'adresse email/mot de passe en deux en Python?
- 23. Comment réinitialiser un mot de passe dans AD en utilisant LDP.exe?
- 24. Enregistrement du nom d'utilisateur/mot de passe sur Mac en utilisant Java
- 25. Modifier le mot de passe à distance (en code, .Net 3.5)
- 26. Vérification du mot de passe dans le dojo
- 27. Comment désactiver l'expiration du mot de passe Oracle?
- 28. Log SQL Server Modification du mot de passe
- 29. Récupération du mot de passe lorsque le mot de passe est enregistré en tant que valeur de hachage
- 30. Comment localiser la validation de mot de passe en C#?
Je serais très inquiet si Windows permettait au code externe de changer les paramètres utilisateur. Quelle utilisation pourrait-elle être à des fins légitimes? Laissez l'administration du système aux outils d'administration intégrés fournis. – HardCode
Dans ce cas, je recommande de demander "comment puis-je faire X en utilisant win32 api" plutôt que "comment puis-je faire X en utilisant Python" parce que vous finirez par utiliser win32 api et en formulant la question comme ça pourrait vous donner plus de réponses . –