Question Script Interactif d'ajout d'un utilisateur dans l'Active Directory

Plus d'informations
il y a 1 an 10 mois #32359 par Marco
Bonjour a tous, je planche depuis plusieurs jour sur un script qui permets d'ajouter un utilisateur (de maniere ponctuelle) dans l'active directory
En gros le script pose differentes questions a l'utilisateur et en fonction de ses réponses (read-host) les champs sont renseignés dans l'AD
Tout fonctionne correctement mais pour certaines informations, plutot que de laisser l'utilisateur saisir les information, je preferai que celui ci choisisse parmis une liste 

Pour remplir un Nom il n'y a pas de sens mais par exemple pour renseigner le -Path , plutot que faire taper "OU=service,DC=nomdedomaine,DC=.com , je souhaiterai un menu qui affiche quelque chose comme ca :

1)  Informatique
2) Finance
3)Quitter

De sorte que la selection effectuée , renseigne le bon DN a la valeur -PATH

Merci d'avance de votre aide :)

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

Plus d'informations
il y a 1 an 10 mois #32362 par Laurent Dardenne
Salut,
regarde la classe System.Management.Automation.Host.ChoiceDescription qui facilite la gestion de ce type de choix.

Tutoriels PowerShell

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

Plus d'informations
il y a 1 an 10 mois #32370 par Marco
Hello Laurent, merci pour ta réponse
Je me suis rencardé sur ce sujet, j'ai notamment trouvé ce lien
jeffbrown.tech/how-to-create-prompts-in-powershell/

Mais comme je débute , je suis un peu perdu, j'ai essayé d'inclure ca dans mon script de new aduser mais apres avoir essayé, je me rends compte que je n'ai aucune idée de comment ajouter cela ^^

Ca interesse que je partage mon script? (je previens vous aller pas etre décu du voyage, c'est certainement tres moche et tres mal fait, mais bon je débute...)

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

Plus d'informations
il y a 1 an 10 mois #32371 par Laurent Dardenne
Il faut tester et consulter + site pour apprendre.

Un exemple en attendant mieux :
#Affiche la signature du constructeur
[System.Management.Automation.Host.ChoiceDescription]::new

#crée deux choix
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", "Réponse Yes"
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", "Réponse No"

#crée un tableau avec les choix précédent
$choices = [System.Management.Automation.Host.ChoiceDescription[]]($yes,$no)

$title='titre du menu'
$message='Zone du message'
$ChoixParDefaut=1 #de 0 à 1, 2 éléments
$MaReponse = $host.UI.PromptForChoice($title, $message, $Choices, $ChoixParDefaut)

Write-host "La réponse est $MaReponse qui correspond à $($choices[$MaReponse].HelpMessage)"


#scriptblock , on simule un appel de script dans la console
&{
$Indice=1
$ServiceOrdonnes=@('Informatique','Finance','Quitter')
$Choix= $ServiceOrdonnes| ForEach-Object {New-Object System.Management.Automation.Host.ChoiceDescription "&$Indice", $_ ;$Indice++}
$Choix|ForEach-Object { Write-host ('{0}){1}'-f $_.label.remove(0,1),$_.helpMessage)}
$MaReponse = $host.UI.PromptForChoice($title, $message, $Choix, 0)
Write-host "La réponse ($maReponse) correspond à '$($ServiceOrdonnes[$maReponse])'"
}
Il ya un décalage dans les indices car tu débutes à 1, alors que les tableaux débutent à l'indice zéro.

>>Ca interesse que je partage mon script?
Si tu veux qq remarques sur son contenu

Tutoriels PowerShell

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

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