Flash info

Une frénésie incontrollée poussent certains individus à convertir tous les scripts d'admin en PowerShell. L'un d'eux aurait été apperçu récemment près du campus universitaire de Talence.

 
Accueil arrow Forum

Bienvenue sur le forum PowerShell-Scripting.com

 
kevinklein
Utilisateur

PowerShelleur Débutant
Messages: 18
graphgraph
Karma: 0  
Renvoi valeur tableau - 16/05/19 15:29 Bonjour,

Je fais appel à vos lumières.
Je souhaiterais créer un tableau contenant les valeurs ci-dessous :
table[0][0]="machine1";table[0][1]="machine2"
table[1][0]="machine3";table[1][1]="machine4"
table[2][0]="machine5";table[2][1]="machine6"
etc...
Et une variable qui contiendrait une des valeurs qui se trouve dans le tableau
ex : machine4

J'aimerais que mon script puisse me renvoyer la valeur du tableau correspondante à celle qui se
trouve dans la variable c'est à dire pour machine4, il s'agit de machine3.
Autre exemple : pour machine5, il s'agit de machine6.
etc...

Pourriez vous svp m'aider pour réaliser ce script ?

Merci d'avance
Cordialement

Message édité par: kevinklein, à: 16/05/19 15:30
  | | L'administrateur a désactivé l'accés public en écriture.
Laurent Dardenne
Utilisateur

PowerShelleur Platinum
Messages: 5573
graph
Karma: 205  
Re:Renvoi valeur tableau - 16/05/19 17:35 Salut,
je crois que tu devrais revoir tes explications et le code d'exemple qui va avec.
je supposes que tu souhaites manipuler des pointeurs, mais tes exemples référencent à chaque fois une valeur et pas des indices référençant ton tableau.


kevinklein écrit:

c'est à dire pour machine4, il s'agit de machine3

Là je suis tombé dans le coma
Tutoriels PowerShell
  | | L'administrateur a désactivé l'accés public en écriture.
Laurent Dardenne
Utilisateur

PowerShelleur Platinum
Messages: 5573
graph
Karma: 205  
Re:Renvoi valeur tableau - 16/05/19 18:21 Après intervention des secours, voici un exemple de ce que j'ai compris :
Code:

  $table=@(@(),@(),@()) $table[0] +=@("Machine1","Machine2") $table[1] +=@("Machine3","Machine4") $table[2] +=@("Machine5","Machine6") $Variable=$table[1][1] $Variable $pointeurTab=[ref]$table[1][0] $pointeurTab $pointeurTab.Value #Plus loin, plus haut, plus ... $table=@(@(),@(),@()) $table[0] +=@( "Machine1",( [ref]$table[0][0]) ) $table[1] +=@( "Machine3",( [ref]$table[1][0]) ) $table[2] +=@( "Machine5",( [ref]$table[2][0]) ) #Ne fonctionne pas car la référence, au moment de sa déclaration, pointe sur un tableau inexistant. #en 2 passes $table=@(@(),@(),@()) $table[0] +=@( "Machine1",$null#$Null ce n'est pas rien, réserve 'l'emplacement' mémoire $table[1] +=@( "Machine3",$null) $table[2] +=@( "Machine5",$null) $table[0][1] = [ref]$table[0][0] $table[1][1] = [ref]$table[1][0] $table[2][1] = [ref]$table[2][0] #si on simplifie $table=@() $table +=@( "Machine1") $table +=@( "Machine2") $table +=@( "Machine3") $P1 = [ref]$table[0] Remove-Variable P1 #Il me semble plus lisible de typer la variable 'pointeur' que de caster  la valeur reçue,  #même si le résultat est identique [ref]$P1 $table[0] $table[0] $P1.Value



Message édité par: Laurent Dardenne, à: 16/05/19 18:21
Tutoriels PowerShell
  | | L'administrateur a désactivé l'accés public en écriture.
© 2019 PowerShell-Scripting.com