2013-05-22 2 views
0

Comme je l'ai dit, j'aimerais savoir s'il existe un moyen de récupérer tous les attributs/propriétés d'un objet répertoire actif. Je continue à voir des moyens de récupérer des attributs pour un utilisateur, un ordinateur ou autre, mais je cherche un moyen propre de le faire. Je ne veux pas avoir d'attributs spécifiques mais tous.VBScript Active Directory Récupérer des attributs/propriétés

A présent, j'ai créé un script qui énumère tous les objets d'annuaire actifs du domaine, de la configuration et de la partition de schéma avec peu de requêtes LDAP. Pour chaque objet, j'obtiens sa propriété objectClass et, avec un lien dans la partition du schéma, liste les attributs obligatoires et facultatifs pour ce type d'objet.

Le problème est survenu après cela: quand j'essaye de faire "objLDAP.get (attr)". J'ai un message d'erreur parce que j'essaye évidemment d'obtenir un attribut de l'objLDAP qui n'est pas obligatoire. Je veux dire, cet objet peut avoir l'attribut mais ce dernier n'est pas nécessairement défini.

Somes dire pour tester si la propriété existe obtenir avant, ou si l'objet contient la propriété mais j'essayé ce qui suit:

  • Si non IsEmpty (objLDAP.get (attr)
  • Si objLDAP .contains (attr)

et il n'a pas fonctionné. la première me donne le « la propriété d'annuaire ne peut être trouvé dans le cache » message d'erreur. le second dit que cette méthode ne soit pas prise en charge.

Donc je suis à la disposition de tous ceux qui voudraient aider, en corrigeant ce problème ou juste si quelqu'un sait comment lister un répertoire tout actif avec des attributs d'objet d'une autre manière que mon processus.

Répondre

0

Juste pour dire que mon problème a été résolu. J'ai honte de découvrir qu'il y avait un moyen très propre et facile de faire ce que je voulais. Le voici:

For I = 0 To objLDAP.PropertyCount-1 
     Set pAttr = objLDAP.Item(I) 
     <do some stuff here> 
Next 

Donc j'espère que personne n'a passé son temps à essayer de résoudre mon problème.

Merci