Bonjour à tous,
J'ai besoin de faire un test conditionnel en PowerShell V5 sur du Windows 2016 Standard dont le resultat d'une valeur qui ne doit pas être au bon format.
Le but est de pouvoir effectuer un test du style suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 # Capacité totale du disque F:\ $SizeF = Get-WmiObject win32_volume | where {$_.Name -eq "F:\"} | Select-Object @{ e={[math]::round($_.Capacity/1GB,2) } ;l="Size(GB)" } | Format-Table -HideTableHeaders
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If ($SizeF -ge "20") { Write-host "Vrai"} } Elseif ($SizeF -lt "20") { Write-host "/!\ Faux" }
La valeur de mon résultat n'est pas sur une valeur numerique
Code : Sélectionner tout - Visualiser dans une fenêtre à part $SizeF.GetType()
J'ai essayé de convertir ma valeur de plusieurs façon, voir ci-dessous quelques exemple, mais je ne dois pas faire ce qu'il faut, j'ai un message d'erreur
Impossible de convertir la valeur « System.Object[] » du type « System.Object[] » en type « System.Int32 ».
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [int]$SizeF $SizeF.gettype()
J'ai le même message d'erreur sur un pb de conversion
Code : Sélectionner tout - Visualiser dans une fenêtre à part [System.Int32]$SizeF = $SizeF
Je suis un peu perdu, je n'arrive pas à trouver une solution viable. Es ce que quelqu'un pourrait m'aider, SVP.
Merci pour votre aide.
Partager