Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1414 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBScript] [RESOLU] trouver le chemin ldap

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBScript] [RESOLU] trouver le chemin ldap

n°1305298
anthony000​0
Posté le 14-02-2006 à 15:22:00  profilanswer
 

voila, je voudrais savoir quel est le chemin LDAP exact sur lequel je suis en ce moment (dans un domaine).
 
je sais recupérer des info a partir du chemin, mais je dois connaitre ce chemin avant tout ! ^_^
 
merci encore !


Message édité par anthony0000 le 28-02-2006 à 10:40:18
mood
Publicité
Posté le 14-02-2006 à 15:22:00  profilanswer
 

n°1306914
pilosite
Posté le 16-02-2006 à 11:21:23  profilanswer
 

Hello !
 
le script suivant permet de retrouver le DistinguishedName de l'utilisateur (donc le chemin ldap complet) qui execute le script (en direct ou par logon, pas besoin de droits particulier)
 

Code :
  1. ' ---------
  2. ' script pour retrouver des paramètres spécifiques
  3. ' à l'utilisateur en partant de son login
  4. ' pas de droits spécifiques nécessaires au niveau AD
  5. ' --------
  6. ' récupération du login de l'utilisateur
  7. Set oNET = WScript.CreateObject("WScript.Network" )
  8. usrLOG = oNET.UserName
  9. ' Recherche du login dans AD
  10. ' cette première section se connecte au contexte du domaine
  11. Set objDSE = GetObject("LDAP://rootDSE" )
  12. set oConnection = CreateObject("ADODB.Connection" )
  13. oConnection.Provider = "ADsDSOObject"
  14. oConnection.Open "ADs Provider" 
  15. ' ci dessous le filtre sur le login utilisateur
  16. sFilter = "(&(objectclass=user)(samaccountname=" & usrLOG & " ))"
  17. ' dans cette ligne, on défini les paramètres récupéré : ici
  18. DistinguishedName
  19. ' c'est celle ci que vous pouvez modifier en fonction des paramètres ADSI à récupérer (paramètre avant subtree, séparé par des virgules)
  20. sQuery = "<LDAP://" & objDSE.Get("defaultNamingContext" ) & ">;" & sFilter & ";distinguishedName;subtree"
  21. Set oRecordSet = oConnection.Execute(sQuery)
  22. ' on inscrit le distinguishedName dans une variable, et voilà
  23. usrDN = oRecordset.Fileds("distinguishedName" ).value
  24. oConnection.Close
  25. ' affichage du distinguishedName pour la forme :
  26. wscript.echo usrDN


j'espère que ça peut t'aider.


Message édité par pilosite le 23-02-2006 à 16:14:13
n°1307169
anthony000​0
Posté le 16-02-2006 à 14:39:01  profilanswer
 

merci ! ton script m'a bien aidé, mais j'ai fais 2 modifs pour qu'il marche :
 
j'ai mis en quote la ligne "DistinguishedName " (qui est tout seul sur la ligne
 
et a la fin c'est fields (y'avais une ptite erreur de frappe , heureusement que quiand ça marche pas ça m'indique la ligne ! j'aurai pas trouvé sinon ^_^)
 
merci encore !

n°1307186
anthony000​0
Posté le 16-02-2006 à 14:48:53  profilanswer
 

par contre j'ai un autre ptit pb :  
 
je voudrais ensuite récuperer des infos a propos de l'utilisateur, et pouvoir les modifier, mais je n'y arrive pas, je voudrais pouvoir choisir le "accountexpires".

n°1307190
anthony000​0
Posté le 16-02-2006 à 14:51:24  profilanswer
 

quand je veux choisir d'afficher le "accountexpires", ça me met :
 
"cet objet ne gere pas cette propriété ou cette méthode"

n°1307231
Sboubinett​e62
Posté le 16-02-2006 à 15:24:30  profilanswer
 

Essai un truc de ce genre là :
 

Citation :

 Set objConnection = CreateObject("ADODB.Connection" )
  Set objCommand =   CreateObject("ADODB.Command" )
  objConnection.Provider = "ADsDSOObject"
  objConnection.Open "Active Directory Provider"
 
  Set objCOmmand.ActiveConnection = objConnection
 
  objCommand.CommandText = _
    "Select accountexpires from 'LDAP://DC=pdch,DC=fr' Where objectClass='user' and samAccountName = " & tonUtilisateur
  Set objRecordSet = objCommand.Execute
  objRecordSet.MoveFirst


J'ai pas testé avec l'expiration du compte mais avec les machines auxquelles l'utilisateur peut se connecter et ça marche impec!


Message édité par Sboubinette62 le 16-02-2006 à 15:24:51
n°1307242
anthony000​0
Posté le 16-02-2006 à 15:35:55  profilanswer
 

salut! merci pour tout ça, mais j'ai une erreur juste a la fin ("une ou plusieurs erreur se sont produite lors de l'execution de la commande" )
 

n°1307248
Sboubinett​e62
Posté le 16-02-2006 à 15:41:53  profilanswer
 

anthony0000 a écrit :

salut! merci pour tout ça, mais j'ai une erreur juste a la fin ("une ou plusieurs erreur se sont produite lors de l'execution de la commande" )


 
J'avais eut la même erreur dans un autre scripts et en fait je mettais un chemin LDAP plus complet avec OU et certaine contennait des apastrophes c'est ça qui faisait merder! Mais bon là ça ne peut pas être ça ! Peut-être que la "propriété" "accountexpires" ne marche pas en procédant comme ceci. Essai avec une autre "propriété" (samAccountName...) voir si tu a la même erreur.

n°1307257
anthony000​0
Posté le 16-02-2006 à 15:53:01  profilanswer
 

les autres propriété ne marchent pas.
 
peut etre serait-ce + simple qi je disais ce que j'avais besoin de faire :
 
 
creer un admin du domaine temporaire, rien de +

n°1307280
Sboubinett​e62
Posté le 16-02-2006 à 16:17:32  profilanswer
 

anthony0000 a écrit :

les autres propriété ne marchent pas.
 
peut etre serait-ce + simple qi je disais ce que j'avais besoin de faire :
 
 
creer un admin du domaine temporaire, rien de +


 
si les autres propriétés ne marchent pas y a peut-être une erreur de syntaxe!
Parce que c'est sûr que la méthode marche vu que je l'ai utilisé plusieurs fois!
 
Fais un wscript.echo    "Select accountexpires from 'LDAP://DC=pdch,DC=fr' Where objectClass='user' and samAccountName = " & tonUtilisateur  
 
voir un peu si ça t'affiche tout correctement!

mood
Publicité
Posté le 16-02-2006 à 16:17:32  profilanswer
 

n°1307302
anthony000​0
Posté le 16-02-2006 à 16:37:11  profilanswer
 

seul la ligne s'affiche, pas le résultat.
 
en tout cas le ldap est ok et l'utilisateur aussi, je ne vois pas d'ou ça peut venir.
 
je vais essayer encore de voir ça :)

n°1307357
Sboubinett​e62
Posté le 16-02-2006 à 17:24:08  profilanswer
 

ok bin tien moi au courrant, juste pour savoir t'en fais beaucoup des scripts vbs? Et ta appris ou?parce que y a pas beaucoup de docs quand même! Moi j'ai commencé à en faire en stage, j'avais jamais vu avant! Mais bon j'ais fait pas mal de VB et j'ai des bonnes bases en algorithmie ça aide.

n°1307641
anthony000​0
Posté le 17-02-2006 à 09:43:18  profilanswer
 

j'ai appris en cours, et le j'en fais en stage, a part ça j'ai du mal avec le dévellopement ^_^ mais vbscript me parait pas trop dur, tant que je trouve des solutions ^_^

n°1307661
anthony000​0
Posté le 17-02-2006 à 10:03:23  profilanswer
 

le pb que je te disais hier c'est que je ne peux pas voir les valeurs de certaines propriétés , et c'est embettant car j'en ai besoin.
je ne comprends pas pourquoi je n'ai accès qu'a une partie.
 
par exemple avec ce script, tu verras toutes les propriétés de ton user :
 
Dim objUSER, chListe, i
 
set objuser = getobject("LDAP://CN=test321,CN=Users,DC=carpediem,DC=local" )
 
objUSER.GetInfo
 
i = objUSER.PropertyCount
 
chListe="Il y a " & i & " valeurs dans le cache de propriétés local : " & vbCrLf & vbCrLf
 
For cpt = 0 To (i - 1)
 champ = objUSER.Item(cpt).name
 chListe=chListe & champ & vbCrLf
Next
 
WScript.Echo chListe
 
wscript.echo "whencreated : " & objUser.get("whencreated" ) & vbcrlf _
& "cn : " & objUser.get("cn" )  & vbcrlf _
& "givenname : "& objUser.get("givenname" )  & vbcrlf _
& "userprincipalname : " & objUser.get("userprincipalname" )  & vbcrlf _
& "useraccountcontrol : " & objUser.get("useraccountcontrol" )  & vbcrlf _
& "CHOIX DE TA VALEUR : " & objUser.get("CHOIX DE LA VALEUR" )
 
 
 
tu verras que certaines ne fonctionnent pas, comme objectclass ou accountexpires ou d'autre

n°1307674
Sboubinett​e62
Posté le 17-02-2006 à 10:19:27  profilanswer
 

Bizarre quand même!
Tu disais ta appris ça en cours, tu fais quoi comme étude?

n°1307690
pilosite
Posté le 17-02-2006 à 10:29:18  profilanswer
 

pareil que dans une autre thread, va jeter un oeil ici :
 
http://www.dx21.com/SCRIPTING/ADSI/INDEX.ASP
 
tu as tout ce qu'il faut pour choper n'importe quelle propriété de l'objet utilisateur, avec des exemples tout prêt


---------------
Envie de scripting ? Lisez donc "Scripting Windows" aux Editions Eyrolles ! tout pour apprendre le scripting orienté infrastructure Microsoft, en français dans les textes et exemples.  http://www.eyrolles.com/Informatiq [...] 212116922/
n°1307693
pilosite
Posté le 17-02-2006 à 10:30:26  profilanswer
 

Il faut savoir que toutes les propriétés ne sont pas simple à choper, certaines exigent de passer par le provider WinNT et non LDAP, certaines sont multi valuée etc... le site que je t'ai cité explique ça bien (dans la mesure du possible  :lol: )


---------------
Envie de scripting ? Lisez donc "Scripting Windows" aux Editions Eyrolles ! tout pour apprendre le scripting orienté infrastructure Microsoft, en français dans les textes et exemples.  http://www.eyrolles.com/Informatiq [...] 212116922/
n°1307706
anthony000​0
Posté le 17-02-2006 à 10:37:27  profilanswer
 

wahhhh, je viens juste de regarder un tout ptit peu, et j'ai deja trouvé ^_^
 
 
maintenant je n'ai plus qu'a esperer que ça marche ^_^
 
 
merci beaucoup !
 
 
sinon, j'avoue que j'ignorait completement cette difference que tu viens d'expliquer !
 
 
ah sinon, juste pour info, connais-tu un moyen pour modifier ISA 2004 avec des scripts ?


Message édité par anthony0000 le 17-02-2006 à 10:38:51
n°1307713
pilosite
Posté le 17-02-2006 à 10:41:37  profilanswer
 

mmm, tout dépend de ce que tu veux faire !
 
il y a pas mal de scripts pour isa 2004 sur le technet, par exemple :
 
http://www.microsoft.com/france/te [...] tents.mspx
 
tu as aussi l'inimitable isascript.org :
 
http://www.isascripts.org/
 


---------------
Envie de scripting ? Lisez donc "Scripting Windows" aux Editions Eyrolles ! tout pour apprendre le scripting orienté infrastructure Microsoft, en français dans les textes et exemples.  http://www.eyrolles.com/Informatiq [...] 212116922/
n°1307734
anthony000​0
Posté le 17-02-2006 à 11:00:51  profilanswer
 

merci pour ces liens !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBScript] [RESOLU] trouver le chemin ldap

 

Sujets relatifs
[VBScript] [RESOLU] Checksum, vérifier l'intégrité d'un fichier vbs[JSP][Résolu] Response already commited
[RESOLU]pb pour recuperer le titre d'un pagesql et acess [résolu]
petite question conne (j'ai cherché ss succes la réponse) [RESOLU][RESOLU]probleme curseur main
Récupération d'image sur le net [RESOLU][résolu] Image gif avec fond transparent en premier plan
[QST] Sur un script [RESOLU] 
Plus de sujets relatifs à : [VBScript] [RESOLU] trouver le chemin ldap


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR