Rechercher : dans
Par :

[VBS] Pb récupération champ AD description

fbgb, le 8 jun 2007 à 10:04:24 
 Signaler ce message aux modérateurs

Bonjour,
J'essaye de faire une requète par VBS qui me ramènerait le contenu des champs Active Directory : prénom, nom, login,

email, description et OU d'appartenance pour un login (antérieur à Windows 2000) d'utilisateur donné.
A quelques rares cas près, le champ description donne lieu à une erreur:
Erreur 54
Type incompatible
Code 800A000D
Le champ "description" est pourtant rempli, soit logiciellement (script de création automatique), soit manuellement

(création du compte par la console inclue dans windows serveur 2003).
Quelqu'un peut-il m'expliquer l'erreur que je fais ?

Le programme:

Option explicit
'On Error Resume Next 

Dim monUser

Dim objDSE
Dim oConnection
Dim oRecordSet

Dim sFilter
Dim champs
Dim profondeur
Dim Requete
Dim nbRecord

Dim CRLF
Dim partie

Dim nom
Dim prenom
Dim login
Dim OU
Dim UserDName
Dim UserPName
Dim Email
Dim Description

CRLF = chr(13)  'saut de ligne
monUser = "dddddd"

' Connexion
Set objDSE = GetObject("LDAP://rootDSE")
set oConnection = CreateObject("ADODB.Connection")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "ADs Provider"

' filtre sur le login utilisateur
' -------------------------------
sFilter = "(&(objectclass=user)(samaccountname=" & monUser & "))"

' champ(s) demandé(s)
' -------------------
champs = ";givenName,SN,distinguishedName,userPrincipalName,mail,description"

' Niveau de profondeur de recherche dans les OU
' ---------------------------------------------
profondeur = ";subtree"

' Construction de la requète
' --------------------------
Requete = "<LDAP://" & objDSE.Get("defaultNamingContext") & ">;" & sFilter & champs & profondeur
WScript.Echo Requete

' execution de la requete
' -----------------------
Set oRecordSet = oConnection.Execute(Requete)

nbRecord = oRecordSet.RecordCount
If nbRecord = 0 Then 
	wScript.Echo "Planté !!!" & CRLF & "Utilisateur "& monUser & " non trouvé"
	oConnection.Close
	WScript.Quit
else
	WScript.Echo "Nombre d'enregistrement = " & nbRecord
End if

prenom = oRecordset.Fields("givenName").Value
nom = oRecordset.Fields("SN").Value
UserDName = oRecordset.Fields("distinguishedName").Value
UserPName = oRecordset.Fields("userPrincipalName").Value
Email = oRecordset.Fields("mail").Value
Description = oRecordset.Fields("Description").Value

' extraction nom OU la plus basse
partie = split(UserDName,",")
OU = Right(partie(1),Len(partie(1))-3)
' extraction login user (a partir windows 2000)
partie = split(UserPName,"@")
login = partie(0)

' Affichage des infos recuperees
' ------------------------------
WScript.Echo "prenom: " & prenom _
	& CRLF & "nom: " & nom _
	& CRLF & "login: " & login _
	& CRLF & "Email: " & Email _
	& CRLF & "OU: " & OU _
	& CRLF & "Description: " & Description

oConnection.Close
WScript.Quit
Configuration: Windows XP
VBS

Meilleures réponses pour « [VBS] Pb récupération champ AD description » dans :
[Windows XP] Assistance / Sauvegarde / Récupération / Réparation VoirIl existe plusieurs méthodes de prévention et d'action en cas de gros pépin, préconisées dans un ordre de gravité approximativement croissant : L'assistance à distance La restauration du système La récupération automatique du système...
Télécharger VBS Factory VoirBien souvent comparé à JAvaScript qui est essentiellement destiné pour les scripts Web, VBScript, lui, a un champ d’application plus large. VBS Factory est une application permettant la création et l'édition de tous vos scripts VBS. Il détecte...
Télécharger Patch français pour Ad-aware VoirInclus les modules pour Ad-Aware (pour toutes versions antérieures à Ad-Aware 2007) pour les langues suivantes : Catalan, Danois, Néérlandais, Finlandais, Français, Allemand, Hongrois, Italien, Norvégien, Portugais, Espagnol, Suédois et...
Introduction à Visual Basic VoirPrésentation de Visual Basic Visual Basic est un outil développé par Microsoft pour développer facilement des applications fonctionnant sous Microsoft Windows ©. Visual Basic est, comme son nom l'indique, un outil visuel permettant de créer...
Créer un réseau WiFi ad hoc VoirPrésentation du réseau WiFi ad hoc Si vous possédez deux ordinateurs ou plus équipés d'adaptateurs sans fil (cartes WiFi), il est possible de les relier très simplement en réseau en mettant en place un réseau dit « ad hoc », c'est-à-dire un réseau...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
Collection CommentÇaMarche.net