Question Affichage de la variable avant la ligne suivante

Plus d'informations
il y a 3 ans 1 mois #31474 par Giraudeau
Bonjour,J'ai plusieurs fois rencontré ce problème mais n'ai jamais trouvé la solution, j'espère que vous pourrez m'aider svp.

Voici mon bout de script :
write-host "`n-----Connexion au vcenter-----" -ForegroundColor Cyan
$tableau | select vcenter -Unique
$vcenter=read-host "Saisir le nom du vcenter "
Connect-VIServer $vcenter
write-host "OK" -ForegroundColor green

Le but est de proposer à l'utilisateur la liste des Vcenter disponibles pour qu'il saisisse celui sur lequel il souhaite se connecter.
Malheureusement la ligne "$tableau | select vcenter -Unique" s'affiche systématiquement après "$vcenter=read-host "Saisir le nom du vcenter "" et je n'arrive pas à comprendre pourquoi alors qu'elle est écrite avant.

Il doit y avoir une raison toute bête mais je sèche.

Merci

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

Plus d'informations
il y a 3 ans 1 mois - il y a 3 ans 1 mois #31475 par Laurent Dardenne
Salut,
l'exécution de code Powershell se fait dans un pipeline qui n'est pas lié à la sortie standard ( Stdout ).
C'est le host powershell ( par défaut la console) qui gère l'affichage des deux mais pas dans l'ordre souhaité. Le pourquoi du comment doit être un petit peu plus complexe, mais le principe est là.
Tu peux essayer de construire dynamiquement un menu :
function Clear-KeyboardBuffer {
while ($Host.UI.RawUI.KeyAvailable)
{ $null=$Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown, IncludeKeyUp")}
}

function YesNo{
param($Caption, $Message)
#Default choice = No

Clear-KeyboardBuffer
$Yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes"
$No = New-Object System.Management.Automation.Host.ChoiceDescription "&No"
$Choices = [System.Management.Automation.Host.ChoiceDescription[]]($Yes,$No)
$Host.UI.PromptForChoice($Caption,$Message,$Choices,1)
}

Tutoriels PowerShell
Dernière édition: il y a 3 ans 1 mois par Laurent Dardenne.
Les utilisateur(s) suivant ont remercié: Giraudeau

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

Plus d'informations
il y a 3 ans 1 mois - il y a 3 ans 1 mois #31476 par Laurent Dardenne
un texte sur le sujet : livebook.manning.com/book/learn-windows-...unches/chapter-16/46

L'ajout du cmdlet Out-Default peut régler le pb dans le code d'origine :
$tableau | select vcenter -Unique|Out-Default
#voir Help out-default -full

Tutoriels PowerShell
Dernière édition: il y a 3 ans 1 mois par Laurent Dardenne.
Les utilisateur(s) suivant ont remercié: Giraudeau

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

Plus d'informations
il y a 3 ans 1 mois #31478 par Giraudeau
Laurent,
Effectivement l'ajout de Out-Default a réglé le problème.
Merci infiniment pour ta réponse.

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

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