Résolu
boucle qui ne va pas au de-delà de 8 répétitions
- gertrude
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 18
- Remerciements reçus 0
Nouveau sujet, je suis face à une nouvelle problématique. J'ai ce script qui fonctionne, sauf quand je mets un chiffre supérieur ou égale à 9 : dans ce cas, en console, ça ne va que jusqu'à Vague8 au maximum...
J'ai tenté de demander son "avis" à chatgpt, mais il sèche...
Avez-vous des idées ?
# importer dans une variable le planning du WSUS, classer par ordre alphabétique de la colonne Client
$tabClientsRanked = Import-Csv -Path "chemindufichier.csv" -Delimiter ";" | Select-Object Client, Week | Sort-Object -Property @{Expression="Client";Ascending=$true}
# demander un nombre de cycle de MAJ
$nbWave = Read-Host "Indiquer un nombre de vagues de rotation à effectuer"
# créer une boucle de 1 à $nbWave, avec un pas de 1 à chaque tour de boucle
for($i=1; $i -le $nbWave; $i++){
# ajouter une propriété à chaque objet qui s'appelle Vague$i
$tabClientsRanked | Add-Member -MemberType NoteProperty -Name "Vague$i" -Value $null
}
# afficher la variable avec les propriétés ajoutées
$tabClientsRanked | Format-Table
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
La cause vient très probablement du fait que Read-Host retourne toujours un String.
Il faut toujours convertir le résultat de la saisie en nombre entier. Tout simplement en faisant ceci :
[int] $nbWave = Read-Host "Indiquer un nombre de vagues de rotation à effectuer"Essaye et tiens nous au courant
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- gertrude
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 18
- Remerciements reçus 0
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
Bizarre car chez moi ça fonctionne bien... :
[int]$nbWave = Read-Host "Indiquer un nombre de vagues de rotation à effectuer"
# créer une boucle de 1 à $nbWave, avec un pas de 1 à chaque tour de boucle
for($i=1; $i -le $nbWave; $i++){
"Vague$i"
}~/temp> ./test.ps1
Indiquer un nombre de vagues de rotation à effectuer: 5
Vague1
Vague2
Vague3
Vague4
Vague5
~/temp> ./test.ps1
Indiquer un nombre de vagues de rotation à effectuer: 10
Vague1
Vague2
Vague3
Vague4
Vague5
Vague6
Vague7
Vague8
Vague9
Vague10MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- gertrude
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 18
- Remerciements reçus 0
# importer dans une variable le planning du WSUS, classer par ordre alphabétique de la colonne Client
$tabClientsRanked = Import-Csv -Path "chemindufichier.csv" -Delimiter ";" | Select-Object Client, Week | Sort-Object -Property @{Expression="Client";Ascending=$true}
# demander un nombre de cycle de MAJ
[int]$nbWave = Read-Host "Indiquer un nombre de vagues de rotation à effectuer"
# créer une boucle de 1 à $nbWave, avec un pas de 1 à chaque tour de boucle
for($i=1; $i -le $nbWave; $i++){
# ajouter une propriété à chaque objet qui s'appelle Vague$i
$tabClientsRanked | Add-Member -MemberType NoteProperty -Name "Vague$i" -Value $null
}
# afficher la variable avec les propriétés ajoutées
$tabClientsRanked | Format-Table
Voici en pièce-jointe le résultat en console quand j'exécute le script.
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
ajoute un * après ta commande Format-Table pour demander à PowerShell de t'afficher toutes les propriétés.
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- boucle qui ne va pas au de-delà de 8 répétitions