Script Visual Basic [Résolu]

ngassa_t 2 Messages postés vendredi 26 mars 2004Date d'inscription 5 avril 2011 Dernière intervention - 14 mars 2011 à 16:23 - Dernière réponse : cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention
- 15 mars 2011 à 15:51
Bonjour,
Je suis débutant en VBS.
J'ai installé une instance ADAM (active directory en mode application) sur mon serveur Windows 2003.cette instance écoute sur le port 50000. Je souhaite créé mes utilisateurs à l'aide du script ci-dessous. mais je reçois le message d'erreur suivant:800A01C2 Wrong of arguments or invalid property assignment.
quelqu'un peut m'aider ??
-------------------------------------------------------------
-----------------------------------------------------------
Dim oContainer
Dim oUserSet,oUser
oContainer=GetObject("LDAP://localhost:50000/CN=annuaire,DC=contoso,DC=com")
'Create user
Set oUser = oContainer.Create("User","CN=Pilar Ackerman")
'Assign values to user attributes
oUser.Put "samAccountName","Pilar"
oUser.Put "givenName","Pilar"
oUser.Put "sn","Ackerman"
oUser.Put "userPrincipalName","pilar@contoso.com"
oUser.SetInfo'Clean upSet
oUser = NothingSet
oContainer = NothingWScript.Echo
'"Finished"WScript.Quit
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 15 mars 2011 à 15:51
3
Merci
Il est étonnant que le GetObject puisse s'utiliser avec un tel paramétrage.
Es-tu sûr que cette utilisation soit courante|possible ?
As-tu déjà réussi une connexion avec d'autres paramètres ?

GetObject peut accepter deux paramètres, optionnels individuellement :
- PathName : Le chemin de l'application
- Class : La classe du serveur auquel on veut s'adresser (serveur au sens logiciel comme Excel, avec un noyau serveur : Excel.Application)

Sur internet, j'ai trouvé ce genre de syntaxe, plus proche de l'utilisation de GetObject :
Set objLDAP = GetObject("LDAP:") 
Set objRoot = objLDAP.OpenDSObject("LDAP://localhost:50000/CN=...")

Essaye voir, en vérifiant, après le GetObject, qu'un objet est bien présent :
If objLDAP Is Nothing Then MsgBox "pas bon"

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_Jack
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 14 mars 2011 à 16:46
0
Merci
Salut

Je n'y connais rien an Active Directory et peu de pratique en VBS (ça commence bien !), mais ce genre de message peut venir d'une simple erreur d'orthographe :
- Vérifie l'orthographe des mots clés = propriétés utilisée. Ces mots peuvent être sensibles aux min/maj, par exemple samAccountName --> sAMAccountName (trouvé sur le net)
- Vérifie que, à chaque propriété, correspond bien un texte à fournir; peut-être que l'une d'elle nécessite un chiffre.
- Vérifie que les infos du GetObject sont compatibles avec tes propriétés : je vois deux fois "DC=", est-ce normal ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
ngassa_t 2 Messages postés vendredi 26 mars 2004Date d'inscription 5 avril 2011 Dernière intervention - 14 mars 2011 à 16:58
0
Merci
Bonjour,
Merci pour ta réponse.

Mon nom de domain est contoso.com d'ou c'est normal d’écrire dc=contoso,dc=com.

Mon dn est cn=annuaire,dc=contoso,dc=com

d'après mes recherches le pb sur cette ligne :

oContainer=GetObject("LDAP://localhost:50000/CN=annuaire,DC=contoso,DC=com")
Commenter la réponse de ngassa_t

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.