EXPORT D'UTILISATEURS ACTIVE DIRECTORY DANS UN FICHIER EXCEL
cs_shakaka
Messages postés8Date d'inscriptionlundi 9 août 2004StatutMembreDernière intervention10 janvier 2008
-
9 janv. 2008 à 17:41
Lund -
4 mars 2014 à 14:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Pour ceux qui voudrait utiliser ce script avec office 2013 sur leur poste :
Dans le script : changer .xls en .xlsx
Pour le fichier à creer Source.xlsx, attention à la casse (MAJ min)
Pour changer les attributs, reportez vous dans votre ad dans propriété d'un utilisateur, éditeurs d'attributs.
Xhar972
Messages postés2Date d'inscriptionjeudi 25 septembre 2008StatutMembreDernière intervention25 septembre 2008 12 déc. 2011 à 22:05
Bonjour,
DSL pour n'arriver que maintenant.
Le script est Génial. En essayant de faire un complément, j'aimerai pouvoir extraire les comptes qui ont expiré.
je rajoute en fin d'extraction cette ligne mais rien ne monte dans le fichier Excel.
"objExcel.ActiveSheet.Range("N" & i).Value = objUser.accountExpires"
C'est la bonne syntaxe ?
Merci pour la réponse d'avance
Gérald.
typhon24
Messages postés13Date d'inscriptionvendredi 3 mars 2006StatutMembreDernière intervention19 septembre 20113 19 sept. 2011 à 14:22
Merci bien
Etinewok
Messages postés5Date d'inscriptionjeudi 21 avril 2011StatutMembreDernière intervention11 octobre 2011 21 avril 2011 à 11:24
Bonjour,
Tout d'abord merci pour ce script !
J'ai tout de même un petit problème. Je veux lister aussi les valeurs de l'attribut accountExpires et dans le fichier Excel je n'ai aucune valeur de cet attribut.
J'ai repris à l'identique le code source que tu as donné et j'ai listé les mêmes attributs. Pour l'attribut displayName, pareil, je n'ai aucune valeur dans la tableau, alors que je sais pourtant que mes utilisateurs ont ce champ rempli.
Comment cela se fait-il ?
cs_linko75
Messages postés2Date d'inscriptionvendredi 7 janvier 2011StatutMembreDernière intervention 7 janvier 2011 7 janv. 2011 à 15:43
c'est bon j'ai trouvé
par contre, il geenre un fichier txt mais je n'ai pas tout les attributs. juste recuper le nom et prénom
pas compris l'interet du fichier exel
help
cs_linko75
Messages postés2Date d'inscriptionvendredi 7 janvier 2011StatutMembreDernière intervention 7 janvier 2011 7 janv. 2011 à 13:42
je dois etre nul mais je n'y arrive pas
mon domaine est groupe.nom demasociété.fr
j'ai donc mis dc=groupe,dc=nom de ma société, dc=fr
OU en question est Users
j'ai bien le repertoire de d:temp de crée et le fichier source.xls
ad en 2003
quand je lancer le vbs, je mets users sur le 1er fenetre
ensuite dans le fichier temporaire, je mets c:\temp
merci
Alicodom
Messages postés1Date d'inscriptionmardi 26 octobre 2010StatutMembreDernière intervention26 octobre 2010 26 oct. 2010 à 13:40
salut aurais tu un excemple pour la creation du fichier excel sources.xls avec les colonnes . je recupere seulement dans mon fichier txt les champs suivants :
indypat
Messages postés1Date d'inscriptionlundi 6 décembre 2004StatutMembreDernière intervention27 août 2010 27 août 2010 à 11:26
bonjour
j'ai une question bete (surement :)) mais lorsque dans votre active directory vous avez plusieurs OU, peut on faire un export complet de chaque utilisateur sans avoir a passer sur chaque OU ??
merci urgent
DFORLER
Messages postés14Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention21 avril 2010 21 avril 2010 à 15:55
Bonjour,
Désolé pour le retard, mais j’ai rejoué le script dans un nouvelle environnement et j’ai constaté que si le script n’était pas exécuté en local sur votre contrôleur de domaine « celui de test bien sûr » alors il faut renseigner le nom du serveur à interroger :
Voici la commande de ce script
strBase = "<LDAP://" & strDomainDN & ">;"
Voici la nouvelle commande (remplacer NomDuServeurLDAP par DC)
strBase = "<LDAP://NomDuServeurLDAP/" & strDomainDN & ">;"
kenji_lol
Messages postés8Date d'inscriptionlundi 4 avril 2005StatutMembreDernière intervention14 avril 2010 14 avril 2010 à 17:52
Bonjour moi j'ai exactement la même erreur que Troy34
Et j'aimerais bien avoir la réponse car ce script est très intéressant
Merci.
Troy34
Messages postés4Date d'inscriptionmardi 5 août 2008StatutMembreDernière intervention13 août 2009 7 août 2009 à 10:13
Bonjour tout le monde :),
Je fais actuellement un script en VBS chargé d'interroger Active Directory et vu que le script de DFORLER utilise la même série d'instructions et vu que je rencontre le même problème que Natio et Fouinas je poste aussi ici :).
set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope)
objRS.MoveFirst
while Not objRS.EOF
MyFile.WriteLine (objRS.Fields(0).Value)
objRS.MoveNext
wend
MyFile.close
La ligne de code "set objRS objConn.Execute(strBase & strFilter & strAttrs & strScope)" me renvoie l'erreur suivante> Le tableau n'existe pas.
Je renseigne les bonnes informations au niveau du strDomain puisque j'ai fais le test d'interroger mon Active Directory avec une requête du type SQL (SELECT attribut FROM strdomain WHERE champ='qqch') et là ca marche.
L'erreur "Le tableau n'existe pas" ne m'est retournée que lorsque j'utilise l'accès à mon Active Directory à l'aide du filtre (strFilter).
Est ce que quelqu'un aurait une piste à suivre pour solutionner mon problème s'il vous plait ? ... Parce que là ca fait trois jours que je cherche une solution que je ne trouve pas :s.
D'avance, Merci pour vos réponses :).
DFORLER
Messages postés14Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention21 avril 2010 27 mars 2009 à 21:03
désolé pour t'avoir demandé de valider les champs LDAP mais tu sais on ne connait pas toujours le niveau de son interlocuteur.
cs_natio
Messages postés2Date d'inscriptionvendredi 9 février 2007StatutMembreDernière intervention27 mars 2009 27 mars 2009 à 09:41
Donc je viens au rapport, j'ai bien dl les Admin tools, install etc...
je tape donc la commande que tu m'as donné qui me confirme que depuis le début les informations que je rentrais étaient...correctes.
J'ai quand même essayé de remplacer comme tu me l'as indiqué :
strDomainDN ="OU=MonOU,DC=microsoft,DC=com"
Mais rien n'y fait.
Je t'explique, il me créé bien le fichier texte, mais il n'écrit pas dedans.
J'ai une erreur ligne 33 du script, soit:
' Ici lancement de la requêtes et écriture dans le fichier txt dans le c:\temp
set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope)
objRS.MoveFirst
while Not objRS.EOF
MyFile.WriteLine (objRS.Fields(0).Value)
objRS.MoveNext
wend
MyFile.close
Au moment de la requête et de l'écriture...
Aussi j'ai un AD installé sur Windows Serveur 2008... Peut être que c'est cela qui pose problème.
DFORLER
Messages postés14Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention21 avril 2010 26 mars 2009 à 20:59
J'ai oublié, mais l’info précédente est pour l'ajouter dans la ligne 11 soit :
Soit par
strDomainDN ="ou=" & stroucible & ",DC=microsoft,DC=com"
Et dans le inputbox renseigner le nom MONOU
Si nous suivons la logique des commentaires du message d'avant bien sur
DFORLER
Messages postés14Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention21 avril 2010 26 mars 2009 à 20:53
Bonjour a toi aussi,
Je ne sais pas si tu as le même problème mais en revanche je sais que tu peux tester un petit truc pour vérifier si il vient d’ici.
Tu télécharges et installes les Admin tools du site www.microsoft.com puis dans une commande dos tu tapes la commande suivante :
Dsquery user –name *TonNomDeConnexionAD*
Il devrait te répondre un truc dans ce style
CN=MonNomAMoi,OU=MonOU,DC=microsoft,DC=com
Puis tu fais un copié collé de la syntaxe depuis le OU=MonOU,DC=microsoft,DC=com
Et normalement cela devrait être bon.
Bon courage et merci pour ton retour si cela marché
cs_natio
Messages postés2Date d'inscriptionvendredi 9 février 2007StatutMembreDernière intervention27 mars 2009 26 mars 2009 à 15:14
Hello!
1) Merci pour ce script qui pourrait m'être fort utile
2) Si j'arrive à le faire fonctionner =)
Car j'ai la même erreur (celle du tableau qui n'existe pas).
J'ai pourtant bien renseigné le nom LDAP du domaine, créé le fichier Source.xls dans C:\ et pourtant... Aurai-je oublié autre chose?
Merci encore
fouinas
Messages postés2Date d'inscriptionmercredi 10 décembre 2008StatutMembreDernière intervention11 décembre 2008 11 déc. 2008 à 17:51
Merci DFORLER,
Je vais essayer ça. Mais il me semble que c'est ce que j'ai fait.
@+
DFORLER
Messages postés14Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention21 avril 2010 10 déc. 2008 à 20:51
Bonjour FOUINAS, je viens de voir que le commentaire était en ligne.
Donc voici je pense le début de ton problème la ligne 33 est l'appel à ton active directory Donc il faut que tu renseignes correctement l'extension de ton domaine
---Dans le script ----
' Attention à modifier le nom LDAP du domaine
strDomainDN ="ou=" & stroucible & ",dc=VotreNomdeDomaine,dc=SonExtention"
Exemple :
dc=microsoft,dc=com (soit un domaine AD = microsoft.com)
Puis la variable stroucible elle t'es demandé dans l'imputbox la tu marques une de tes OU de l'AD (Attention du dois avoir les droits de lecture de l'AD pour ça un simple compte utilisateurs et nécessaire)
fouinas
Messages postés2Date d'inscriptionmercredi 10 décembre 2008StatutMembreDernière intervention11 décembre 2008 10 déc. 2008 à 10:30
Bonjour,
J'ai un petit problème avec le script. Une erreur ligne 33 : 'la tableau n'existe pas'.
Quelqu'un voit le problème. Merci.
DFORLER
Messages postés14Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention21 avril 2010 27 oct. 2008 à 20:08
Normalement du devrais pouvoir le récupérer telephoneNumber puisqu'il semble être le bon. Sinon pour le nom des champs tu peux tester adsiedit.msc ou ldapAdmin (en download) si tu ne connais pas dans les détails des attributs tu pourras liter leurs noms LDAP.
Normalement pour le profil c'est "profilePath".
As tu vérifié que tu renseignais bien les colonne Excel ?
vilo35
Messages postés1Date d'inscriptionmardi 9 mai 2006StatutMembreDernière intervention27 octobre 2008 27 oct. 2008 à 09:09
salut
pour ma part je n'arrive pas a recup certain champs (telephoneNumber) et je voudrais recuperer le chemin du profile itinérant
si vous pouvez me renseignez merci
DFORLER
Messages postés14Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention21 avril 2010 19 oct. 2008 à 10:02
Bonjour Mak09,
As tu bien pensé à créer le fichier source Excel en ligne 47 ?
'Attention le fichier C:\sources.xls doit exister
strSheet = "c:\Source.xls"
J'ai utilisé une model pour pouvoir reinsegner la première ligne tu sais exemple (col1 nom, col2 prenon, ....)
Si non, je pense que tu as bien excel d'installé sur ton poste ?
mak09
Messages postés1Date d'inscriptiondimanche 12 octobre 2008StatutMembreDernière intervention19 octobre 2008 19 oct. 2008 à 09:07
Bonjour
Le script marche, juste pour générer le fichier txt, mais pour exporter vers le fichier excel il marche pas!!! à l'aide
DFORLER
Messages postés14Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention21 avril 2010 26 juin 2008 à 20:21
pas de quoi si il peut être utile c'est un plaisir.
starneo
Messages postés1Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention25 juin 2008 25 juin 2008 à 12:31
Je te remercie beaucoup pour ton script !
hoangquang
Messages postés1Date d'inscriptionjeudi 2 février 2006StatutMembreDernière intervention17 mars 2008 17 mars 2008 à 16:14
Pour les non initiés du LDAP : une notion importante de l'annuaire LDAP est son DIT (Directory Information Tree). Pour savoir ce qu'il faut renseigner au niveau du code ci-dessus et les paramètres du programme, il faut que vous connaissiez votre DIT : domaine dc=yahoo,dc=com et vos OU=people ou encore OU=groups ou encore OU=computers etc...
DFORLER
Messages postés14Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention21 avril 2010 10 janv. 2008 à 19:24
Slt,
Pour ma part j’ai eu à changer ce paramètre dans le cadre d’un méta annuaire (d’où ma connaissance de celui-ci). Mais je conseil quand même de ne pas trop l’augmenter car si tu as des applications qui requêtent votre AD alors tu risque de surconsommer des ressources surtout si tu es déjà un peux juste à ce niveau. Pour info moi j’étais passé de 1000 vers 2000 et je n’ai pas constaté de changement donc tu pourrais "je pense" sans pb passer à 3000 ou 4000…
Toutefois je te conseil, si tu en a la possibilité. De cibler des OU plus petites (une simple modification du script pour récupérer la liste de sous OU de ton OU principale ou simplement une liste fixe générée par l’outil Windows "" dsquery ou –name * "" ) te permettrait de récupérer toutes les informations que tu as besoin mais par petits lots. Il te faudrait bien sur rajouter une boucle pour lire toutes les OU dans l’ordre.
Voila en espérant que cela t’aide ? ;-)
cs_shakaka
Messages postés8Date d'inscriptionlundi 9 août 2004StatutMembreDernière intervention10 janvier 2008 10 janv. 2008 à 18:00
Coucou,
Effectivement j'ai fait un ntdsutil.exe et j'ai constaté que le MaxPageSize avait la valeur 2500.
(MaxPageSize=Cette valeur contrôle le nombre maximal d'objets retournés dans un résultat de recherche. Ce nombre est indépendant de la taille des objets retournés. Pour exécuter une recherche dont le résultat est susceptible de dépasser ce nombre d'objets, le client doit spécifier un contrôle de recherche paginée. Ainsi, les résultats retournés seront répartis dans des groupes ne dépassant pas la valeur définie pour MaxPageSize. En résumé, MaxPageSize contrôle le nombre d'objets retournés dans un même résultat de recherche.)
Ceci explique cela. N'etant pas admin des DCs de ma boite je n'ose pas changer cette valeur. Crois-tu que cela peut-être néfaste (de changer la valeur ?).
Cdlt,
DFORLER
Messages postés14Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention21 avril 2010 9 janv. 2008 à 19:40
Bonjour à toi aussi et merci pour ton compliment.
En revanche pour les 2500 lignes normalement ce n'est pas lié au script. Je pense à la configuration de ton active directory, puisque tu peux augmenter le nombre de retour sur une requête LDAP (par défaut des blocs de 1000 lignes sont renvoyés, et comme tu pointe une OU complète, Peut être que …), moi mon AD à 15000 comptes et je ne me rappel pas ce type de PB (bien que je ciblais OU par OU mais je suis presque sur qu'il y avait plus de 2500 comptes dans l’OU que je récupérais).
Si non une autre possibilité est que tu as un compte avec des caractères qu'il ne comprend pas. Dans ce cas tu peux ajouter une remarque à ON ERROR RESUME NEXT et rajouter une boucle de contrôle if (avec un compteur par exemple et surtout un msgbox du champ) dans la boucle Do Until userliste entre chaque instructions d'écritures et tu pourras vérifier si c’est une limitation du script dans ta configuration ou une erreur du champ que tu récupère.
Demain je ferais un test pour vérifier si je suis bloqué à 2500 lignes
Dans l'attente de ton retour bon courage
cs_shakaka
Messages postés8Date d'inscriptionlundi 9 août 2004StatutMembreDernière intervention10 janvier 2008 9 janv. 2008 à 17:41
Salut,
Je viens de tester ton script et je le trouve niquel pour ce que je voulais faire ^^ (avoir la liste des objets Users en fonction de leur date de creation): J'ai donc modifié un des attributs dans le script par "WhenCreated". Bref, par contre j'ai noté un petit souci il me semble. J'ai remarqué que a chaque fois le fichier Excel s'arrete a 2500 lignes, dans le cas de ma société il manque donc une partie des objets User (plus de 2500 :D).
Aurais-tu une solution à proposer ?
Merci à toi.
4 mars 2014 à 14:17
Dans le script : changer .xls en .xlsx
Pour le fichier à creer Source.xlsx, attention à la casse (MAJ min)
Pour changer les attributs, reportez vous dans votre ad dans propriété d'un utilisateur, éditeurs d'attributs.
12 déc. 2011 à 22:05
DSL pour n'arriver que maintenant.
Le script est Génial. En essayant de faire un complément, j'aimerai pouvoir extraire les comptes qui ont expiré.
je rajoute en fin d'extraction cette ligne mais rien ne monte dans le fichier Excel.
"objExcel.ActiveSheet.Range("N" & i).Value = objUser.accountExpires"
C'est la bonne syntaxe ?
Merci pour la réponse d'avance
Gérald.
19 sept. 2011 à 14:22
21 avril 2011 à 11:24
Tout d'abord merci pour ce script !
J'ai tout de même un petit problème. Je veux lister aussi les valeurs de l'attribut accountExpires et dans le fichier Excel je n'ai aucune valeur de cet attribut.
J'ai repris à l'identique le code source que tu as donné et j'ai listé les mêmes attributs. Pour l'attribut displayName, pareil, je n'ai aucune valeur dans la tableau, alors que je sais pourtant que mes utilisateurs ont ce champ rempli.
Comment cela se fait-il ?
7 janv. 2011 à 15:43
par contre, il geenre un fichier txt mais je n'ai pas tout les attributs. juste recuper le nom et prénom
pas compris l'interet du fichier exel
help
7 janv. 2011 à 13:42
mon domaine est groupe.nom demasociété.fr
j'ai donc mis dc=groupe,dc=nom de ma société, dc=fr
OU en question est Users
j'ai bien le repertoire de d:temp de crée et le fichier source.xls
ad en 2003
quand je lancer le vbs, je mets users sur le 1er fenetre
ensuite dans le fichier temporaire, je mets c:\temp
merci
26 oct. 2010 à 13:40
CN=Stephane Kouam,OU=Users,OU=FR-Paris,OU=CWE_UK,DC=alico,DC=corp
Merci
27 août 2010 à 11:26
j'ai une question bete (surement :)) mais lorsque dans votre active directory vous avez plusieurs OU, peut on faire un export complet de chaque utilisateur sans avoir a passer sur chaque OU ??
merci urgent
21 avril 2010 à 15:55
Désolé pour le retard, mais j’ai rejoué le script dans un nouvelle environnement et j’ai constaté que si le script n’était pas exécuté en local sur votre contrôleur de domaine « celui de test bien sûr » alors il faut renseigner le nom du serveur à interroger :
Voici la commande de ce script
strBase = "<LDAP://" & strDomainDN & ">;"
Voici la nouvelle commande (remplacer NomDuServeurLDAP par DC)
strBase = "<LDAP://NomDuServeurLDAP/" & strDomainDN & ">;"
Ci-joint l’article Microsoft
http://support.microsoft.com/kb/187529
Voilà j’espère que cela répondra à votre pb.
14 avril 2010 à 17:52
Et j'aimerais bien avoir la réponse car ce script est très intéressant
Merci.
7 août 2009 à 10:13
Je fais actuellement un script en VBS chargé d'interroger Active Directory et vu que le script de DFORLER utilise la même série d'instructions et vu que je rencontre le même problème que Natio et Fouinas je poste aussi ici :).
strBase = "<LDAP://" & strDomainDN & ">;"
strFilter = "(&(objectclass=user)(objectcategory=person));"
strAttrs = "distinguishedname;"
strScope = "subtree"
set objConn = CreateObject("ADODB.Connection")
objConn.Provider = "ADsDSOObject"
objConn.Open "Active Directory Provider"
set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope)
objRS.MoveFirst
while Not objRS.EOF
MyFile.WriteLine (objRS.Fields(0).Value)
objRS.MoveNext
wend
MyFile.close
La ligne de code "set objRS objConn.Execute(strBase & strFilter & strAttrs & strScope)" me renvoie l'erreur suivante> Le tableau n'existe pas.
Je renseigne les bonnes informations au niveau du strDomain puisque j'ai fais le test d'interroger mon Active Directory avec une requête du type SQL (SELECT attribut FROM strdomain WHERE champ='qqch') et là ca marche.
L'erreur "Le tableau n'existe pas" ne m'est retournée que lorsque j'utilise l'accès à mon Active Directory à l'aide du filtre (strFilter).
Est ce que quelqu'un aurait une piste à suivre pour solutionner mon problème s'il vous plait ? ... Parce que là ca fait trois jours que je cherche une solution que je ne trouve pas :s.
D'avance, Merci pour vos réponses :).
27 mars 2009 à 21:03
Et si tu remplace par ca, quesque ca donne ?
strFilter = "(&(objectclass=user)(objectcategory=person)" & _
"(useraccountcontrol:1.2.840.113556.1.4.803:=2));"
strAttrs = "name;"
strScope = "subtree"
27 mars 2009 à 09:41
je tape donc la commande que tu m'as donné qui me confirme que depuis le début les informations que je rentrais étaient...correctes.
J'ai quand même essayé de remplacer comme tu me l'as indiqué :
strDomainDN ="OU=MonOU,DC=microsoft,DC=com"
Mais rien n'y fait.
Je t'explique, il me créé bien le fichier texte, mais il n'écrit pas dedans.
J'ai une erreur ligne 33 du script, soit:
' Ici lancement de la requêtes et écriture dans le fichier txt dans le c:\temp
set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope)
objRS.MoveFirst
while Not objRS.EOF
MyFile.WriteLine (objRS.Fields(0).Value)
objRS.MoveNext
wend
MyFile.close
Au moment de la requête et de l'écriture...
Aussi j'ai un AD installé sur Windows Serveur 2008... Peut être que c'est cela qui pose problème.
26 mars 2009 à 20:59
strDomainDN ="ou=" & stroucible & ",dc=VotreNomdeDomaine,dc=SonExtention"
Tu peux soit remplacer le tout par
strDomainDN ="OU=MonOU,DC=microsoft,DC=com"
Soit par
strDomainDN ="ou=" & stroucible & ",DC=microsoft,DC=com"
Et dans le inputbox renseigner le nom MONOU
Si nous suivons la logique des commentaires du message d'avant bien sur
26 mars 2009 à 20:53
Je ne sais pas si tu as le même problème mais en revanche je sais que tu peux tester un petit truc pour vérifier si il vient d’ici.
Tu télécharges et installes les Admin tools du site www.microsoft.com puis dans une commande dos tu tapes la commande suivante :
Dsquery user –name *TonNomDeConnexionAD*
Il devrait te répondre un truc dans ce style
CN=MonNomAMoi,OU=MonOU,DC=microsoft,DC=com
Puis tu fais un copié collé de la syntaxe depuis le OU=MonOU,DC=microsoft,DC=com
Et normalement cela devrait être bon.
Bon courage et merci pour ton retour si cela marché
26 mars 2009 à 15:14
1) Merci pour ce script qui pourrait m'être fort utile
2) Si j'arrive à le faire fonctionner =)
Car j'ai la même erreur (celle du tableau qui n'existe pas).
J'ai pourtant bien renseigné le nom LDAP du domaine, créé le fichier Source.xls dans C:\ et pourtant... Aurai-je oublié autre chose?
Merci encore
11 déc. 2008 à 17:51
Je vais essayer ça. Mais il me semble que c'est ce que j'ai fait.
@+
10 déc. 2008 à 20:51
Donc voici je pense le début de ton problème la ligne 33 est l'appel à ton active directory Donc il faut que tu renseignes correctement l'extension de ton domaine
---Dans le script ----
' Attention à modifier le nom LDAP du domaine
strDomainDN ="ou=" & stroucible & ",dc=VotreNomdeDomaine,dc=SonExtention"
Exemple :
dc=microsoft,dc=com (soit un domaine AD = microsoft.com)
Puis la variable stroucible elle t'es demandé dans l'imputbox la tu marques une de tes OU de l'AD (Attention du dois avoir les droits de lecture de l'AD pour ça un simple compte utilisateurs et nécessaire)
10 déc. 2008 à 10:30
J'ai un petit problème avec le script. Une erreur ligne 33 : 'la tableau n'existe pas'.
Quelqu'un voit le problème. Merci.
27 oct. 2008 à 20:08
Normalement pour le profil c'est "profilePath".
As tu vérifié que tu renseignais bien les colonne Excel ?
27 oct. 2008 à 09:09
pour ma part je n'arrive pas a recup certain champs (telephoneNumber) et je voudrais recuperer le chemin du profile itinérant
si vous pouvez me renseignez merci
19 oct. 2008 à 10:02
As tu bien pensé à créer le fichier source Excel en ligne 47 ?
'Attention le fichier C:\sources.xls doit exister
strSheet = "c:\Source.xls"
J'ai utilisé une model pour pouvoir reinsegner la première ligne tu sais exemple (col1 nom, col2 prenon, ....)
Si non, je pense que tu as bien excel d'installé sur ton poste ?
19 oct. 2008 à 09:07
Le script marche, juste pour générer le fichier txt, mais pour exporter vers le fichier excel il marche pas!!! à l'aide
26 juin 2008 à 20:21
25 juin 2008 à 12:31
17 mars 2008 à 16:14
10 janv. 2008 à 19:24
Pour ma part j’ai eu à changer ce paramètre dans le cadre d’un méta annuaire (d’où ma connaissance de celui-ci). Mais je conseil quand même de ne pas trop l’augmenter car si tu as des applications qui requêtent votre AD alors tu risque de surconsommer des ressources surtout si tu es déjà un peux juste à ce niveau. Pour info moi j’étais passé de 1000 vers 2000 et je n’ai pas constaté de changement donc tu pourrais "je pense" sans pb passer à 3000 ou 4000…
Toutefois je te conseil, si tu en a la possibilité. De cibler des OU plus petites (une simple modification du script pour récupérer la liste de sous OU de ton OU principale ou simplement une liste fixe générée par l’outil Windows "" dsquery ou –name * "" ) te permettrait de récupérer toutes les informations que tu as besoin mais par petits lots. Il te faudrait bien sur rajouter une boucle pour lire toutes les OU dans l’ordre.
Voila en espérant que cela t’aide ? ;-)
10 janv. 2008 à 18:00
Effectivement j'ai fait un ntdsutil.exe et j'ai constaté que le MaxPageSize avait la valeur 2500.
(MaxPageSize=Cette valeur contrôle le nombre maximal d'objets retournés dans un résultat de recherche. Ce nombre est indépendant de la taille des objets retournés. Pour exécuter une recherche dont le résultat est susceptible de dépasser ce nombre d'objets, le client doit spécifier un contrôle de recherche paginée. Ainsi, les résultats retournés seront répartis dans des groupes ne dépassant pas la valeur définie pour MaxPageSize. En résumé, MaxPageSize contrôle le nombre d'objets retournés dans un même résultat de recherche.)
Ceci explique cela. N'etant pas admin des DCs de ma boite je n'ose pas changer cette valeur. Crois-tu que cela peut-être néfaste (de changer la valeur ?).
Cdlt,
9 janv. 2008 à 19:40
En revanche pour les 2500 lignes normalement ce n'est pas lié au script. Je pense à la configuration de ton active directory, puisque tu peux augmenter le nombre de retour sur une requête LDAP (par défaut des blocs de 1000 lignes sont renvoyés, et comme tu pointe une OU complète, Peut être que …), moi mon AD à 15000 comptes et je ne me rappel pas ce type de PB (bien que je ciblais OU par OU mais je suis presque sur qu'il y avait plus de 2500 comptes dans l’OU que je récupérais).
Si non une autre possibilité est que tu as un compte avec des caractères qu'il ne comprend pas. Dans ce cas tu peux ajouter une remarque à ON ERROR RESUME NEXT et rajouter une boucle de contrôle if (avec un compteur par exemple et surtout un msgbox du champ) dans la boucle Do Until userliste entre chaque instructions d'écritures et tu pourras vérifier si c’est une limitation du script dans ta configuration ou une erreur du champ que tu récupère.
Demain je ferais un test pour vérifier si je suis bloqué à 2500 lignes
Dans l'attente de ton retour bon courage
9 janv. 2008 à 17:41
Je viens de tester ton script et je le trouve niquel pour ce que je voulais faire ^^ (avoir la liste des objets Users en fonction de leur date de creation): J'ai donc modifié un des attributs dans le script par "WhenCreated". Bref, par contre j'ai noté un petit souci il me semble. J'ai remarqué que a chaque fois le fichier Excel s'arrete a 2500 lignes, dans le cas de ma société il manque donc une partie des objets User (plus de 2500 :D).
Aurais-tu une solution à proposer ?
Merci à toi.