bonjour,
débutant sur powershell,

je souhaite passer une variable dans un argument d'une commande mais j'ai à chaque fois des erreurs malgré toutes les tentatives de test.

l'utilisateur rentre un nombre (exemple 10)
Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
$disk=Read-Host "Taille de disque ?"
 
 
New-VMXScsiDisk -NewDiskname disk1.vmdk -NewDiskSize $disk -VMXName $vmname -Path C:\VM\$vmname

dans l'argument, la variable doit être sous la forme 10GB.

en manuel, si je fais $disk="$disk" + "GB", j'obtiens bien 10GB

mais dans le script j'obtiens toujours une erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
New-VMXScsiDisk : Impossible de traiter la transformation d'argument sur le paramètre «NewDiskSize». Impossible de convertir la 
valeur «20GB» en type «System.Int64». Erreur: «Le format de la chaîne d'entrée est incorrect.»
Au caractère C:\Users\nicolas\Downloads\Preseed\test_creation_vm.ps1:50 : 54
+ New-VMXScsiDisk -NewDiskname disk1.vmdk -NewDiskSize $disk -VMXName $ ...
+                                                      ~~~~~
    + CategoryInfo          : InvalidData : (:) [New-VMXScsiDisk], ParameterBindingArgumentTransformationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,New-VMXScsiDisk
merci de votre aide