Créer un gestionnaire de comptes en ASP

Nymouas Messages postés 34 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 20 mai 2005 - 17 mai 2005 à 09:58
Nymouas Messages postés 34 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 20 mai 2005 - 20 mai 2005 à 09:44
Bonjour,

Je ne connais pas encore grand chose en asp et je suis en train de me renseigner.

Je désire créer un gestionnaire de comptes (locaux !!!) pour windows XP Pro en asp (sous IIS) car je n'en ai pas trouvé sur le net (ou j'ai mal cherché si qqun a un lien). J'ai trouvé un script vbs qui permet de créer un compte (local) sous windows XP Pro et j'aimerai l'intégrer afin de créer un compte utilisateur sur la machine. Par contre, ce que je n'ai pas trouvé c comment intégrer la partie pour modifier l'image du compte (la petite image de la page de login). En résumé, les fonctionnalités que je recherche (pour l'instant) sont les suivants (très proches de la création de comptes utilisateurs) :
- Rajout d'un nouveau compte : login/pwd
- Modification de l'image (afficher aussi l'image courante pour chaque compte)
- Ajouter un script de login (en vbs c facile)
- Modification/suppression de comptes

En final, je désire que la création des comptes puissent se faire également sur 3 autres machines du réseau local (le script vbs que j'ai trouvé le permet à condition d'avoir même login/pwd pour le compte admin). Je ne veux pas créer de domaine (active directory) car de 1, je ne dispose pas de windows server et de 2, je veux surtout conserver le basculement de sessions !

Merci d'avance pour vos réponses,
++

PS : le basculement des sessions est indispensables car il s'agit de machines pour faire tourner des simulations et un autre utilisateur doit ê capable de lancer sur une autre session de la même machine une simulation (il s'agit de stations travails dual P4 3.x Ghz 4Go Ram ce qui explique l'idée de conserver ce basculement de sessions).

5 réponses

cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008
17 mai 2005 à 10:37
salut !


je n'ai malheureusement aucun soutient pour toi, car n'ayant jamais fait de recherche sur le sujet, mais le tout ma l'air des plus intéressent. Si tu aimerai bien, lorsque tes recherches et ton appli réalisé, il serait très intéressent de voir cette source sur aspfr.com, non ?! ;)


p.s. si je tombe sur quelque chose, je te fais signe.


jackboy
0
Nymouas Messages postés 34 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 20 mai 2005
17 mai 2005 à 12:15
Salut Jackboy,



Hélas, je n'ai pas bcp de temps à y consacrer (d'où mes questions sur
ce forum). Si j'arrive à pondre ce code, je le posterai sur ce forum
mais sans garanties et surtout ça risque de me prendre du temps ...



++
0
Nymouas Messages postés 34 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 20 mai 2005
18 mai 2005 à 13:14
Voilà, g commencé à adapter une petite partie du script vbs dont voici la partie principale en exemple :

Dim objComputer, objUser, objGroup

Dim username, userpwd, strComputer

username="Test"

userpwd="essai"

strComputer="WORKSTATION2"

Set objComputer = GetObject("WinNT://" & strComputer & ",computer")

Set objUser = objComputer.Create("user", username)

objUser.SetPassword userpwd

objUser.SetInfo

Set objGroup = GetObject("WinNT://" & strComputer & "/Utilisateurs,group")

objGroup.Add(objUser.ADsPath)



Que strComputer vale WORKSTATION, WORKSTATION2 ou
WORKSTATION3, qd j'exécute le script vbs, ça fonctionne tjs ! Là g
commencé la page asp de création d'un compte (très simple) en utilisant
la session sur la machine locale (le fichier asp) :



<%

Dim objComputer, objUser, objGroup

Dim username, userpwd, strComputer

username=request.form("login")

userpwd=request.form("pass")

strComputer="WORKSTATION3"

if (userpwd=request.form("passconf")) then

Set objComputer = GetObject("WinNT://" & strComputer & ",computer")

Set objUser = objComputer.Create("user", username)

objUser.SetPassword userpwd

objUser.SetInfo

Set objGroup = GetObject("WinNT://" & strComputer & "/Utilisateurs,group")

objGroup.Add(objUser.ADsPath)

end if



%>



Un petit formulaire avec login et password (+ confirmation du
pwd) a été fait en html et le submit appelle ce fichier asp. Cela
fonctionne très bien si strComputer est la machine qui héberge le
server iis (g réglé l'accès sur les comptes windows admin) par contre,
cela ne fonctionne plus et j'obtiens l'erreur suivante si la machine
est Workstatin2 ou 3 (Workstation héberge le server iis).



Voilà l'erreur que j'obtiens


Erreur de compilation Microsoft VBScript error '800a0401'



Fin d'instruction attendue



/iisHelp/common/500-100.asp, line 11


Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL
--------------------------------------------------------------------------^




Erreur d'exécution Microsoft VBScript error '800a0046'



Permission refusée: 'GetObject'



/test/createuser.asp, line 13


Je n'ai apparament pas les droits d'accès sur les autres machines mais
ce que je comprends c que le script vbs fonctionne parfaitement et pas
l'asp (que j'utilise avec le compte admin à partir duquel le script vbs
équivalent fonctionne). Si qqun a une idée de ce que je dois modifier
pour autoriser l'accès, je suis preneur ?





++
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
19 mai 2005 à 21:17
Salut



le compte utilisateur qu'utilise IIS pour l'asp (et le reste) se nomme IUSR_LENOMDETAMACHINE...

Si cet utilisateur Windows (du serveur) n'a pas les droits d'accès à
tout ton réseau, s'il n'a pas le droit de créer des users...alors ça ne
marchera pas... (par défaut il n'a pas
le droit d'effectuer de l'intéractif avec le serveur et ne peut lire
des fichiers en dehors du fameux C:\InetPub !!)



je pense que c'est là dedans qu'il faut bidouiller pour permettre à ton
script ASP de faire ça, néanmoins c'est pas très sécurisé de donner à
IIS le droit de tout faire sur ton réseau local...



et puis le 'GetObjet' doit fonctionner dans un 'fichier.vbs', mais dans une 'page.asp', j'avou que j'ai jamais testé...



@+++




Nurgle
C'est une grande folie que de vouloir être sage tout seul !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nymouas Messages postés 34 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 20 mai 2005
20 mai 2005 à 09:44
Salut Nurgle,



Merci pour ces explications claires. Effectivement, cela vient
probablement du problème que tu me décrits. Par contre, ce qui est
bizarre, c que localement j'arrive qd même à créer un compte (je suis
en session Admin) mais du fait que IUSR_LENOMDETAMACHINE a des droits
d'utilisateur, il se peut qu'il les emprunte à Admin (de la session)
mais pour les machines du réseau local, celles-ci "voient" comme
utilisateur IUSR_LENOMDETAMACHINE et non pas Admin (avec lequel je suis
pourtant logger).



J'ai trouvé un objet activex qui ferait ce que je demande (UserManager)
mais c un shareware limité à 40j donc je ne l'ai pas tester et je tente
de faire ce que je veux par d'autres moyens.



++
0
Rejoignez-nous