Использование фрейма MehmetSeckin s ответа, но
- приведение номера версии к типу [version], как предложено robdy
- проверка версии Major и Minor.
- также проверяет строку Distro и суффикс.
- вывод а
[PSCustomObject]
## Q:\Test\2019\06\27\SO_56788705.ps1
function Compare-UbuntuVersions {
param(
[string]$VerString1,
[string]$VerString2
)
$Dist1,[version]$Version1,$Suffix1 = $VerString1 -split ' '
$Dist2,[version]$Version2,$Suffix2 = $VerString2 -split ' '
If(($Dist1 -eq $Dist2) -and
($Suffix1 -eq $Suffix2) -and
($Version1.Major -eq $Version2.Major) -and
($Version1.Minor -eq $Version2.Minor)) {
return $True
} Else {
return $False
}
}
$targetVersion = "Ubuntu 16.04 LTS"
$versions = @(
"Ubuntu 16.04 LTS",
"Ubuntu 16.04.01 LTS",
"Ubuntu 16.04.6 LTS",
"Ubuntu 16.05 LTS"
)
$versions | ForEach-Object {
[PSCustomObject]@{
Target = $targetVersion
Version= $_
Match = Compare-UbuntuVersions $targetVersion $_
}
}
Пример вывода:
> Q:\Test\2019\06\27\SO_56788705.ps1
Target Version Match
------ ------- -----
Ubuntu 16.04 LTS Ubuntu 16.04 LTS True
Ubuntu 16.04 LTS Ubuntu 16.04.01 LTS True
Ubuntu 16.04 LTS Ubuntu 16.04.6 LTS True
Ubuntu 16.04 LTS Ubuntu 16.05 LTS False