Question Listbox et Bouton

Plus d'informations
il y a 16 ans 3 semaines #1818 par Bolo
Listbox et Bouton a été créé par Bolo
Tout d'abord félicitations pour ce site vraiment très très utile.

Je suis débutant dans le monde de la programmation en général.Ceci dit je m'accroche.

J'ai récupéré un petit srcipt sur le site qui liste les utilisateurs AD et qui fonctionne parfaitement en mode console.

[code:1]$ldapQuery = \"(&(objectCategory=user))\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
$complist[/code:1]

En utilisant AdminScriptEditor je créé form,listbox et button :

[code:1]region ScriptForm Designer (Created with Admin Script Editor trial edition)

#region Constructor

[void][System.Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«»)
[void][System.Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\"«»)

#endregion

#region Post-Constructor Custom Code

#endregion

#region Form Creation
#Warning: It is recommended that changes inside this region be handled using the ScriptForm Designer.
#When working with the ScriptForm designer this region and any changes within may be overwritten.
$Form1 = New-Object System.Windows.Forms.Form
#~~< Form1 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$Form1.ClientSize = New-Object System.Drawing.Size(510, 527)
$ListBox1 = New-Object System.Windows.Forms.ListBox
#~~< ListBox1 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ListBox1.FormattingEnabled = $true
$ListBox1.Location = New-Object System.Drawing.Point(22, 76)
$ListBox1.Size = New-Object System.Drawing.Size(476, 420)
$ListBox1.TabIndex = 1
$Button1 = New-Object System.Windows.Forms.Button
#~~< Button1 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$Button1.Location = New-Object System.Drawing.Point(12, 12)
$Button1.Size = New-Object System.Drawing.Size(153, 43)
$Button1.TabIndex = 0
$Button1.Text = \"GO !\"
$Button1.UseVisualStyleBackColor = $true
$Form1.Controls.Add($ListBox1)
$Form1.Controls.Add($Button1)
$Form1.Text = \"Liste des utilisateurs AD\"

#endregion

#region Custom Code

#endregion

#region Event Handlers

#endregion

#region Event Loop

[System.Windows.Forms.Application]::EnableVisualStyles()
[System.Windows.Forms.Application]::Run($Form1)

#endregion

#endregion[/code:1]

Je souhaiterais simplement afficher la liste des utilisateurs dans la listbox.

Si quelqu'un pouvait de mettre sur la piste ça serait bien sympa. Merci par avance pour votre aide.

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

Plus d'informations
il y a 16 ans 3 semaines #1821 par Robin Lemesle
Réponse de Robin Lemesle sur le sujet Re:Listbox et Bouton
j'ai pas de quoi tester sous la main, mais essaie ca (ou quelque chose du genre).


[code:1]$listbox = new-object System.Windows.Forms.ListBox
foreach($i in $complist){
[void]$listbox.Items.Add($i)
}[/code:1]

Robin MVP PowerShell

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

Plus d'informations
il y a 16 ans 3 semaines #1826 par Bolo
Réponse de Bolo sur le sujet Re:Listbox et Bouton
Merci beaucoup Robin pour la réponse.

Je récupère bien des données dans ma listbox.

Néanmoin il y a une différence entre le résultat sous la console poweshell ou je récupère ma liste d'utilisateurs et la listebox ou je récupère uniquement ceci :

System.DirectoryServices.SearchResult
System.DirectoryServices.SearchResult
System.DirectoryServices.SearchResult
System.DirectoryServices.SearchResult
...

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

Plus d'informations
il y a 16 ans 3 semaines #1830 par Bolo
Réponse de Bolo sur le sujet Re:Listbox et Bouton
Faut-il que les données de $complist soient formatés avant d'être affiché dans la listbox ?

[code:1]$ldapQuery = \"(&(objectCategory=user))\"
$de = New-Object system.directoryservices.directoryentry
$ads = New-Object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
$complist[/code:1]
Ceci me retourne les infos.

[code:1]$ldapQuery = \"(&(objectCategory=user))\"
$de = New-Object system.directoryservices.directoryentry
$ads = New-Object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
$button1.add_Click({foreach($i in $complist) {[void]$listbox1.Items.Add($i)}})[/code:1]Mais ceci donne uniquement :
System.DirectoryServices.SearchResult...

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

Plus d'informations
il y a 16 ans 3 semaines #1833 par PASCAULT
Réponse de PASCAULT sur le sujet Re:Listbox et Bouton
Remplie ta listbox des propriétés de l'objet $complist que tu souhaites afficher:

Pour le chemin ldap complet de tes users:
[code:1]foreach($i in $complist){
[void]$listbox1.Items.Add($i.path)
}[/code:1]

Pour afficher seulement le nom simple
[code:1]foreach($i in $listmin){
[void]$listbox1.Items.Add($i.Properties.name[0])
}[/code:1]

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

Plus d'informations
il y a 16 ans 3 semaines #1834 par Bolo
Réponse de Bolo sur le sujet Re:Listbox et Bouton
Grand merci gremlinsy !!! ça marche impec.:)

J'y vois plus clair.

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

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