LDAP - Récupérer une liste de tous les attributs/valeurs?
Est-il possible de récupérer une liste de tous les attributs/valeurs de LDAP, sans en préciser, si oui, comment cela peut-il être possible?
Avez-vous une solution finale à l'aide de
PrincipalContext
? Qui .NET Framework versión vous utilisez ?OriginalL'auteur Mike Anderson | 2011-07-13
Vous devez vous connecter pour publier un commentaire.
Je prends la liste de tous les paramètres de mon DirectoryEntry objet de classe. J'espère que ça aidera:
Et ici Vous avez le code:
System.Object[]
,System.__ComObject
,System.Byte[]
, etc. propriétés ?est probablement un peu trop tard pour répondre, car j'ai vu cela, vous avez jeté quelque chose d'autre, Object[], _ComObject et Byte[] beaucoup de l'info, enveloppé dans de la, à l'aide de la valeur.tostring() dans la méthode ci-dessus ne sera pas en mesure d'afficher ce qui est à l'intérieur. Je vous conseille de si-d'autre cas, la vérification de ces types, quand il viennent à travers, d'attribuer les valeurs que vous voulez un objet de type string, et append. E. g. si (val est le byte[]) { string tempString = BitConverter.ToString((byte[])val);//.Replace("-", ""); sb.Append(tempString + "; "); }
OriginalL'auteur Piotr Kwiatek
Spécifier "*" comme la seule valeur dans la liste d'attributs de retour.
Si vous voulez les attributs opérationnels ainsi, ajouter un "+" à la liste.
OriginalL'auteur user207421
DirectoryContext
?en utilisant le Système.DirectoryServices.ActiveDirectory;
OriginalL'auteur David
Bien "récupération de tous les attributs" seule, jusqu'à un Répertoire est une source de préoccupation n'a pas de sens.
Voulez-vous dire :
Et je ne me soucie pas du fait que certains utilisateurs attributs peuvent être en Lecture Seule et d'autres seulement être écrit avec des valeurs spécifiques. - Je ajouter de la façon d'obtenir le contenu.
@Ghostfire donne la solution pour la récupération de tous les attributs de l'utilisateur évalués, et les attributs opérationnels.
Mais n'oubliez pas que dans une recherche LDAP, la meilleure façon est de donner les attributs que vous souhaitez récupérer :
OriginalL'auteur JPBlanc
Vous pouvez utiliser un DirectoryEntry pour générer une liste de propriétés, vous feriez bien sûr utiliser un pour chacun de parcourir la liste des propriétés.
vous pouvez toujours cependant reportez-vous à
http://www.codeproject.com/KB/system/everythingInAD.aspxquand il s'agit de C# et de l'Active Directory.Mise à JOUR: http://www.codeproject.com/Articles/18102/Howto-Almost-Everything-In-Active-Directory-via-C
DirectoryEntry
. Ce n' pas énumérer l'ensemble de la liste des propriétés.....http://www.codeproject.com/KB/system/everythingInAD.aspx
pas trouvéOriginalL'auteur Ghostfire
Pour une liste de toutes les propriétés que vous devriez regarder lors de l'interrogation du schéma pour un objectClass.
OriginalL'auteur Jeff Patton
ADSI Edit est un excellent outil pour vous aider à comprendre des choses. Dans ce cas, vous êtes après un Schéma de données. Lorsque vous ouvrez l'outil ADSI Edit, vous choisissez "se Connecter à..." et puis pour le Contexte de Nommage bien connu vous sélectionnez "Schéma"... maintenant, vous pouvez prendre un regard sur les différentes classes de schéma: (subSchema, classSchema, attributeSchema) ...
Ce qui est difficile, c'est de savoir que vous devez choisir un classSchema, puis obtenir sa "schemaIDGUID" ... alors que vous faites une recherche sur tous les attributeSchema et d'un filtre à "schemaIDGUID"
Ex. Si vous choisissez de regarder "CN=User", vous remarquerez la schemaIDGUID == bf967aba-0de6-11d0-a285-00aa003049e2
Alors si vous choisissez de regarder "CN=Pwd-Dernier-Set" vous remarquerez que les schemaIDGUID matchs....
Avec tout cela étant dit, il est probablement beaucoup plus facile à utiliser ActiveDirectorySchemaClass (comme David a répondu), mais j'ai eu envie de partager quelques connaissances.
OriginalL'auteur C Sharp Conner