Question [Résolu] Combobox

Plus d'informations
il y a 10 ans 8 mois #20714 par Jeulmi
[Résolu] Combobox a été créé par Jeulmi
Salut a tous !

J'ai comme projet de faire une interface graphique pour l'ajout de users sur l'active directory.

J'ai un domaine CONTOSO, les OU sont comme ça (je ne peut pas changer l'architecture) :
Exemple

Carrefour
-Le mans
-Boulogne
-Moneteau
...
LIDL
-Fruits
--Tomates
--Pommes
...

J'arrive a récupérer les OU de premier niveau avec la fonction combobox :

[code:1]function Load-ComboBox
{
Param (
[Parameter(Mandatory=$true)]
[System.Windows.Forms.ComboBox]$ComboBox,
[Parameter(Mandatory=$true)]
$Items,
[Parameter(Mandatory=$false)]
[string]$DisplayMember,
[switch]$Append
)

if(-not $Append)
{
$comboBox.Items.Clear()
}

if($Items -is [Array])
{
$comboBox.Items.AddRange($Items)
}
else
{
$comboBox.Items.Add($Items)
}

$comboBox.DisplayMember = $DisplayMember
}
Load-ComboBox $combobox1 (Get-ADOrganizationalUnit -searchScope Onelevel -Filter * ) -DisplayMember \"Name\"[/code:1]

Par contre comment récupérer la valeur qui sera sélectionner dans BU pour qu'il me donne les OU de la valeur Ville ?


J'ai essayé ça mais ça ne fonctionne pas :
[code:1]Load-ComboBox $combobox2 (Get-ADOrganizationalUnit -searchbase \"OU=$combobox1.selecteditem,DC=CONTOSO,DC=FR\" -filter *) -DisplayMember \"Name\"[/code:1]

Merci pour votre aide

Message édité par: SpunkZ, à: 3/09/15 21:41<br><br>Message édité par: Arnaud, à: 15/10/15 10:00
Pièces jointes :

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

Plus d'informations
il y a 10 ans 8 mois #20716 par xyz
Réponse de xyz sur le sujet Re:Combobox
Salut,
tu peux implémenter une relation maître/détails . Une fois l'OU maître sélectionné, il faut lier la liste des OU associées dans le combo 'détails'. Et pour celles-ci soit tu les construits toutes avant l'affichage du GUI soit au fur et à mesure.
Tu devrais d'abord testé ceci en mode console, par exemple avec une hashtable :
[code:1]$ListeOU=@{}
$ListeOU.Carrefour=@{'Le mans','Boulogne', etc}
$ListeOU.OU2=@{etc}[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 4/09/15 08:54

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 7 mois #20839 par Jeulmi
Réponse de Jeulmi sur le sujet Re:Combobox
Salut,
Pour récupérer la valeur combobox j'ai trouvé :

[code:1]$Combobox3_SV_SelectedIndexChanged={
$OU = \&quot;$($combobox3_SV.SelectedItem)\&quot;
write-host \&quot;$OU\&quot;
Load-ComboBox $Combobox4_SV (Get-ADOrganizationalUnit -searchbase $($Combobox3_SV.selecteditem) -filter * -searchscope 1 ) -DisplayMember \&quot;Name\&quot;
}
[/code:1]
J'ai bien la combobox qui se rempli avec les OU.

Quand je veut créer un utilisateur en prenant la valeur $OU (la valeur $OU a été tester) :

New-ADUser -Name $login -SamAccountName $login -UserPrincipalName $upn -DisplayName $Detailedname -GivenName $givenName -Surname $Surname -Description $Description -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -Enabled $true -ChangePasswordAtLogon $true -Path $OU

New-ADUser : Impossible de valider l'argument sur le paramètre «Path». L’argument est Null ou vide. Indiquez un argument qui n’est pas
Null ou vide et réessayez.


A chaque modification d'une combobox la variable $OU change.

Cela fonctionne sur le labo que j'ai fait chez moi
Par contre chez moi je fais ça directement sur le serveur, au boulot je fais ça a partir de mon poste
J'ai remplacé $ou par le chemin de l'ou (en dur) ça fonctionne.

La pièce jointe Creation_compte.ps1 est absente ou indisponible

<br><br>Message édité par: SpunkZ, à: 7/10/15 21:05
Pièces jointes :

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

Plus d'informations
il y a 10 ans 7 mois #20849 par Jeulmi
Réponse de Jeulmi sur le sujet Re:Combobox
Salut !
Bon j'ai pu tester au boulot :

- De mon poste :
[code:1]New-ADUser : Impossible de valider l'argument sur le paramètre «Path». L’argument est Null ou vide. Indiquez un argument qui n’est pas
Null ou vide et réessayez.[/code:1]

- Du serveur pas de problème !

Me suis dit c'est grave je vais utilisé winrm mais... ça prends pas en charge les boites de dialogue modale :(

J'ai utilisé psexec même message cité plus haut.

Une idée ??

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

Plus d'informations
il y a 10 ans 7 mois #20850 par xyz
Réponse de xyz sur le sujet Re:Combobox
Salut,
SpunkZ écrit:

Une idée ??

Affiche la ligne d'appel avec write-warning, le pb ne semble pas être dans l'appel du cmdlet mais dans ton code.
En passant, dans Load-ComboBox tu peux tester une collection ainsi :
[code:1]function isCollection {
param($Object)
$Object -is [System.Collections.IEnumerable] -and $Object -isnot [String]
}#isCollection[/code:1]
Ton paramètre Items n'étant pas typé, tu peux y passer n'importe quel objet.
As-tu la même version de PS sur les deux machines ?

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 7 mois #20855 par Jeulmi
Réponse de Jeulmi sur le sujet Re:Combobox
Salut,

[code:1]function isCollection {

param($Object)

$Object -is [System.Collections.IEnumerable] -and $Object -isnot [String]

}#isCollection[/code:1]

Je met ça après ma combobox ? et je remplace $object par ma variable $OU ? et ensuite ça donnera
[code:1]Write-warning $OU[/code:1]

Merci pour ton aide

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

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