Is there a way to get Read-Host to recognize PowerShell multipliers like KB, MB,GB,TB, and PB? The first example works just fine if I populate the $freespace variable by hand but does not work in the second example using Read-Host to populate the $freespace variable. The has to be a simple solution to get prompt for user input and have the value recognized as an integer rather than a string.
#this works just fine. The PowerShell multiplier GB is recognized if typed in.
$freespace = 6GB
If ($freeSpace -le 5GB) {
Write-Host “Free disk space is less than 5 GB”
} ElseIf ($freeSpace -le 10GB) {
Write-Host “Free disk space is less than 10 GB”
} ElseIf ($freeSpace -le 20GB) {
Write-Host “Free disk space is less than 20 GB”
} Else {
Write-Host “Free disk space is more than 20 GB”
}
#This does not work. The variable is populated by Read-Host as a [string]
$freespace = Read-Host -Prompt 'Please enter a value for Freespace'
If ($freeSpace -le 5GB) {
Write-Host “Free disk space is less than 5 GB”
} ElseIf ($freeSpace -le 10GB) {
Write-Host “Free disk space is less than 10 GB”
} ElseIf ($freeSpace -le 20GB) {
Write-Host “Free disk space is less than 20 GB”
} Else {
Write-Host “Free disk space is more than 20 GB”
}