Question [Résolu]Exploiter des collections d'objet

Plus d'informations
il y a 8 ans 10 mois #23931 par buissonneau
Bonjour,
C'est pas très clair dans ma tête, mais j'aimerai arriver à exploiter des collections.

Je prend le cas d'une fonction que j'ai écrite qui interroge un OpenLDAP, et le retour que j'ai de cette fonction est une collection. La variable qui contient se retour est de type System.DirectoryServices.SearchResult et son contenu (properties) sont des System.Collections.DictionnaryEntry.

Dans mon cas, j'aimerai pouvoir formater et afficher ses éléments sans avoir à les pointer 1 par 1.
Ex:
ma collection se trouve dans $Ldap
[code:1]$Ldap.Properties.GetEnumerator() [/code:1]
ou
[code:1]$Ldap.Get_Properties()[/code:1]

Dans la console Powershell, cela s'affiche sous forme de \"tableau\" Name et Value. Mais vu que ce n'est pas un vrai tableau, je peux pas formater l'affichage.

Mon but serait d'envoyer ce \"tableau\" dans une variable de type RichTextBox (interface graphique).
Mais si j'envoie tel quel, il me met juste \"System.Collections.DictionnaryEntry\".

Le seul moyen que j'ai trouvé, c'est d'envoyer le résultat dans un fichier et de récupérer le contenu avec Get-Content, la cela s'affiche bien dans ma RichTextBox, mais c'est mal formaté et vilain à voir.

Est-ce qu'il y aurait d'autres façons d'exploiter des collections sans avoir besoin de sélectionner chaque Item de la collection.

Car sinon je suis obligé de les déclarer 1 par 1 avec :
[code:1]$uid = $ldap.property.item(\"UID\")
$sn = $ldap.property.item(\"SN\")
etc..[/code:1]
Ce que je trouve trop figé et très contraignant.

Merci d'avance.

Message édité par: xaviar, à: 10/07/17 14:51<br><br>Message édité par: xaviar, à: 25/07/17 09:52

Francis

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 10 mois #23934 par buissonneau
Re-
J'ai plus ou moins contourner le problème en faisant un
[code:1]Foreach ($ldap in Get-Content d:\LdapSearch.txt)
{$RichTextBox.text+= \&quot;$Ldap `r\&quot;}[/code:1]<br><br>Message édité par: xaviar, à: 10/07/17 15:20

Francis

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 10 mois #23938 par xyz
Réponse de xyz sur le sujet Re:Exploiter des collections d'objet
Salut,
essaie ceci :
[code:1]
$H=@{SN='Name';UID='123'}
$s=\&quot;$($H|out-string)\&quot;
$s
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 10 mois #23993 par buissonneau
merci je vais tester cela de suite.

Francis

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 10 mois #24013 par buissonneau
Hello,

j'ai un peu adapté, mais ton approche était la bonne.
J'avais plus ou moins obtenu le même résultat en envoyant le contenu de ma variable dans un fichier encodé en UTF8 et en précisant un -Width \&quot;500\&quot;.

Mais du coup avec ce que tu m'a donné, cela m'évite la création de fichier.

Merci Laurent.

@+
Francis

Francis

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.042 secondes
Propulsé par Kunena