CRÉER UN COMPTE UTILISATEUR SOUS WINDOWS NT, 2000 OU XP

cs_asimengo Messages postés 280 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 mars 2009 - 6 déc. 2005 à 16:15
cs_Diabolus Messages postés 61 Date d'inscription samedi 20 décembre 2003 Statut Membre Dernière intervention 28 septembre 2007 - 23 juil. 2007 à 13:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34924-creer-un-compte-utilisateur-sous-windows-nt-2000-ou-xp

cs_Diabolus Messages postés 61 Date d'inscription samedi 20 décembre 2003 Statut Membre Dernière intervention 28 septembre 2007 1
23 juil. 2007 à 13:07
Salut
Ton code m'intéresse beaucoup, mais je ne connais pas bien le Visual et je n'arrive pas à le refaire fonctionner (j'ai essayé en créant un projet WinForm .NET, et ça ne compilait pas).

Pourrais tu mettre les sources de ton projet ? ou les quelques lignes nécessaires pour l'implémenter en C# si tu connais ?
Merci à toi en tout cas !
JuanedaEr Messages postés 15 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 9 août 2007
9 juil. 2007 à 10:53
Bonjour MVERY,
J'ai jeté un oeuil sur le MDSN. Il faut ajouter le flag UF_DONT_EXPIRE_PASSWD à USER_INFO_2.usri2_flags dans la fonction CreateUser.

Ce qui donne les lignes suivantes :

Private Const UF_DONT_EXPIRE_PASSWD = &H10000

Buffer.usri2_flags = UF_NORMAL_ACCOUNT Or UF_SCRIPT Or UF_LOCKOUT Or UF_DONT_EXPIRE_PASSWD

Eric
mvery Messages postés 20 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 5 novembre 2009
9 juil. 2007 à 10:08
Ca fonctionne tres bien pour moi merci,

est t'il possible de cocher la case "le mot de passe n'expire jamais" pendant la creation du compte j'ai un peu chercher sur internet mais rien trouver.
Quand je regarde t'on code je vois plein d'options mais j'ai fait quelques tests avec mes trois neurones et j'ai rien trouver dans ce sens.

peut tu m'aider?
fadelovesky Messages postés 38 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 27 décembre 2008
24 sept. 2006 à 00:09
très bien rien a dire.bonne continuation l'ami!
JuanedaEr Messages postés 15 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 9 août 2007
18 sept. 2006 à 08:26
Utiliser les API Windows ou WMI n'outrepasse pas les droits système. Il faut effectivement des droits élevés pour créer des utilisateurs. Le programme peut toutefois être lancé par la commande "Runas" en stipulant un compte admin local.
fadelovesky Messages postés 38 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 27 décembre 2008
15 sept. 2006 à 00:12
Juste une question,est ce que ca marche si l'utilisateur n'est pas un admin? car pour moi, j'utilise les api de WMI et d'autres.
je pense que c non car c'est au bas niveau de windows que tout se passe avec cryptage.du moin,on sait jamais.

Merci
JuanedaEr Messages postés 15 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 9 août 2007
23 août 2006 à 08:46
Merci ROMPETIT pour la correction. J'ai modifié le code en conséquence.
vbPink Messages postés 23 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 30 août 2006
8 août 2006 à 20:24
c'est bon
rompetit Messages postés 1 Date d'inscription lundi 15 mai 2006 Statut Membre Dernière intervention 15 mai 2006
15 mai 2006 à 17:29
J'avais le même problème que MVERY.
Tu as oublié le paramètre correspondant à l'expiration du compte :
usri2_acct_expires
Specifies a DWORD value that indicates when the account expires. This value is stored as the number of seconds elapsed since 00:00:00, January 1, 1970, GMT. A value of TIMEQ_FOREVER indicates that the account never expires

-> à paramétrer avec la valeur -1 (=TIMEQ_FOREVER) lors de la création du compte sinon il est à 0 et est donc expiré...


# Private Function CreateUser(UserName As String, Password As String, Comment As String) As Long
[...]
# With Buffer 'USER_INFO_2
# .usri2_name = StrPtr(UserName)
# .usri2_password = StrPtr(Password)
# .usri2_priv = USER_PRIV_USER '<--Ne pas mettre une autre valeur
# .usri2_comment = StrPtr(Comment)
# .usri2_flags = UF_NORMAL_ACCOUNT Or UF_SCRIPT Or UF_LOCKOUT
#
# .usri2_full_name = 0
# .usri2_usri2_acct_expires = -1
# End With
#[...]

A+
JuanedaEr Messages postés 15 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 9 août 2007
15 mars 2006 à 15:30
Bonjour MVERY,
Pourrais-tu donner quelques explications sur les tests que tu as menés. Sous quel système d'exploitation tu travailles, quel service Pack, quelles boute de code as tu lancé...
mvery Messages postés 20 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 5 novembre 2009
3 mars 2006 à 13:04
Désolé en fait ces bien le compte qui est expiré car j'ai le message "votre compte a expiré"
mvery Messages postés 20 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 5 novembre 2009
3 mars 2006 à 12:58
Merci pour ces informations
Bien que j'utilise le Falg UF_LOCKOUT les user creer sont bloquer par le message "password expiré"
peut ton "désactiver" le mot de passe n'expire jamais?
Merci pour la reponse
leboxeurs13 Messages postés 1 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 23 janvier 2006
23 janv. 2006 à 10:59
merci pour ces information qui me sera esentielle
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
12 déc. 2005 à 17:22
un zip serais sympa ainsi qu'un screenshot ^^ mici
cs_jadot Messages postés 21 Date d'inscription mardi 31 août 2004 Statut Membre Dernière intervention 10 septembre 2007
12 déc. 2005 à 10:21
Merci JuanedaEr.
Effectivement, il y a tout ce qu'il faut concernant ce sujet en cherchant un peu.
JuanedaEr Messages postés 15 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 9 août 2007
12 déc. 2005 à 09:57
Bonjour JADOT,
Pour créer des comptes dans une 'OU' de domaine, il est préférable d'utiliser une autre type de code.
Voir sur le msdn.microsoft.com la fonction : IADsContainer::Create
Un exemple en VB illustre l'utilisation de la fonction.
cs_jadot Messages postés 21 Date d'inscription mardi 31 août 2004 Statut Membre Dernière intervention 10 septembre 2007
12 déc. 2005 à 09:08
Merci pour l'info, interressant.
Y-a-t-il moyen de creer le compte utilisateur directement dans un "Organizational Unit" (je ne connais pas la traduction en francais mais ca correspond aux "sous repertoires de de l'Active Directory) ?

A+
cs_asimengo Messages postés 280 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 mars 2009
6 déc. 2005 à 16:15
Merci pour l'info, j'aurais surement l'occasion de m'en servir, si ça marche.

A+
Rejoignez-nous