Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Identification avec LDAP

4 réponses
Avatar
Jérémy
Bonjour,

Je viens ici en espérant trouver de l'aide car ça fait des mois que je
cherche réponse à ma question. A l'aide d'un script VBS, j'aimerais en gros
pouvoir faire une authentification NT (tester la validiter de l'accompte et
du mot de passe).

Apparement, l'idée est de se connecter à L'active directory comme si l'on
n'était pas dans le domaine en précisant le nom et le mdp et si il y a une
erreur lors de la connection c'est que le mot de passe est mauvais. Mais je
n'arrive à rien par exemple avec ce bout de code:
---------------------------------------------------------------------------
Dim strPath
Dim strUsername
Dim strPassword
Dim adsNamespaceLDAP
Dim adsMyObject

strPath =
"LDAP://OU=GHR_Personal,OU=GHR_Users,OU=GHR_Org,OU=GHR,DC=corproot,DC=net"
strUsername = "accompte"
strPassword = "mdp"

Set adsNamespaceLDAP = GetObject("LDAP:")

Set adsMyObject = adsNamespaceLDAP.OpenDSObject (strPath, strUsername,
strPassword, 0)
---------------------------------------------------------------------------
Il m'affiche toujours que l'accompte ou mot de passe est invalide!!

S'il y a une autre solution ou que je fais quelque chose de faux, merci
d'avance de m'éclairer un peu.

4 réponses

Avatar
Fred
Dans : news:,
Jérémy disait :
Bonjour,


Bonjour,

Je viens ici en espérant trouver de l'aide car ça fait des mois que je
cherche réponse à ma question. A l'aide d'un script VBS, j'aimerais
en gros pouvoir faire une authentification NT (tester la validiter de
l'accompte et du mot de passe).


As-tu exploité ce document ?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/iadsopendsobject_opendsobject.asp
(il y est fait référence à diverses formes du Username et à des
constantes que je ne vois pas dans ton code)

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
Jérémy
J'ai regardé ton document mais en mettant le code exactement le même à la
sauce VBS et avec mon serveur et mon Username/password il me retourne une
erreur "Echec d'ouverture de session : nom d'utilisateur inconnu ou mot de
passe incorrect." (code 8007052E).

Pourtant celui-ci n'est pas faux... Et en ne mettant que la racine du
serveur (LDAP:corproot.net) à la place il met "Un chemin d'accès répertoire
non valide a été transmis"..

Code:
Dim dso
Dim obj1, obj2
Dim szUsername
Dim szPassword

Set dso = GetObject("LDAP:")

' Insert code securely.
szUsername = "monUsername"
szPassword = "monPassword"

' Supply full credentials to initiate a server connection.

Set obj1 = dso.OpenDSObject( _
"LDAP://corproot.net/CNÞpt1,DCúbrikam,DC=com", _
szUsername, _
szPassword, _
ADS_SECURE_AUTHENTICATION + ADS_SERVER_BIND)

' Perform an operation with the bound object, obj1
MsgBox obj1.Class

' Bind to another object with the cached user credential.
Set obj2 = dso.OpenDSObject( _
"LDAP://corproot.net/", _
szUsername, _
szPassword, _
ADS_SECURE_AUTHENTICATION + ADS_SERVER_BIND)

MsgBox obj2.Class
---------------------------

As-tu exploité ce document ?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/iadsopendsobject_opendsobject.asp
(il y est fait référence à diverses formes du Username et à des
constantes que je ne vois pas dans ton code)


Avatar
Fred
Dans : news:,
Jérémy disait :
J'ai regardé ton document mais en mettant le code exactement le même
à la sauce VBS et avec mon serveur et mon Username/password il me
retourne une erreur "Echec d'ouverture de session : nom d'utilisateur
inconnu ou mot de passe incorrect." (code 8007052E).



Bonjour,
Je ne peux pas tester pour te donner un coup de main. Mais as-tu
vraiment regardé en détail la page ?
Il y a quelque chose qui m'intrigue dans ton code, c'est la présence de
la constante ADS_SERVER_BIND avec un nom qui ressemble plus à un nom de
domaine qu'à un nom de serveur.


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
Jérémy
C'est bon, le problème venvait que je mettais seulement le nom de mon
accompte dans szPassword mais il faut mettre "DC=... CN=..." etc..

Mais y'a-t-il moyen de récupérer l'arbre pour n'importe quel utilisateur en
mettant simplement sont accompte? Car je peux récupérer avec le login de la
machine grâche à:

Set oAdSystemInfo = CreateObject("ADSystemInfo")
'MsgBox oAdSystemInfo.UserName

mais je ne vois pas comment le faire pour n'importe quel login


Dans : news:,
Jérémy disait :
J'ai regardé ton document mais en mettant le code exactement le même
à la sauce VBS et avec mon serveur et mon Username/password il me
retourne une erreur "Echec d'ouverture de session : nom d'utilisateur
inconnu ou mot de passe incorrect." (code 8007052E).