Question
[Résolu]Exploiter des collections d'objet
- buissonneau
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 8 ans 10 mois #23931
par buissonneau
Francis
[Résolu]Exploiter des collections d'objet a été créé 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
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.
- buissonneau
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 8 ans 10 mois #23934
par buissonneau
Francis
Réponse de buissonneau sur le sujet Re:Exploiter des collections d'objet
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+= \"$Ldap `r\"}[/code:1]<br><br>Message édité par: xaviar, à: 10/07/17 15:20
J'ai plus ou moins contourner le problème en faisant un
[code:1]Foreach ($ldap in Get-Content d:\LdapSearch.txt)
{$RichTextBox.text+= \"$Ldap `r\"}[/code:1]<br><br>Message édité par: xaviar, à: 10/07/17 15:20
Francis
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 8 ans 10 mois #23938
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Exploiter des collections d'objet
Salut,
essaie ceci :
[code:1]
$H=@{SN='Name';UID='123'}
$s=\"$($H|out-string)\"
$s
[/code:1]
essaie ceci :
[code:1]
$H=@{SN='Name';UID='123'}
$s=\"$($H|out-string)\"
$s
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- buissonneau
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 8 ans 10 mois #23993
par buissonneau
Francis
Réponse de buissonneau sur le sujet Re:Exploiter des collections d'objet
merci je vais tester cela de suite.
Francis
Connexion ou Créer un compte pour participer à la conversation.
- buissonneau
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 8 ans 10 mois #24013
par buissonneau
Francis
Réponse de buissonneau sur le sujet Re:Exploiter des collections d'objet
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 \"500\".
Mais du coup avec ce que tu m'a donné, cela m'évite la création de fichier.
Merci Laurent.
@+
Francis
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 \"500\".
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
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu]Exploiter des collections d'objet