Я пытаюсь написать скрипт для получения последней версии приемника Citrix, очистив веб-сайт с помощью PowerShell.Я дошел до того, что у меня есть последние версии, но я не могу отсортировать их по убыванию правильно, потому что второстепенная версия имеет приоритет 9-1 над 99-10.
Вот мой код
$url = "https://www.citrix.com/downloads/citrix-receiver/"
$html = Invoke-WebRequest -Uri "$url"
$versionLinks = $html.Links | where innerHTML -Match "Receiver \d+(\.\d+)+.* for Windows$" | Sort-Object -Property innerHTML -Descending
$versionArray = @()
foreach ($version in $versionLinks){
[version]$VersionNumber = $version.innerHTML -split " " | Select -First 2 | select -Last 1
$versionArray += $VersionNumber
}
$versionArray = Sort-Object -InputObject $versionArray -Descending -Property minor
$LatestAppVersion = $versionArray[0]
$LatestAppVersion
Что он выводит, это 4,9.$ versionArray выглядит так:
Major Minor Build Revision
----- ----- ----- --------
4 9 -1 -1
4 8 -1 -1
4 7 -1 -1
4 6 -1 -1
4 5 -1 -1
4 3 100 -1
4 12 -1 -1
4 11 -1 -1
4 10 1 -1
Мне бы хотелось, чтобы оно было
Major Minor Build Revision
----- ----- ----- --------
4 12 -1 -1
4 11 -1 -1
4 10 1 -1
4 9 -1 -1
4 8 -1 -1
4 7 -1 -1
4 6 -1 -1
4 5 -1 -1
4 3 100 -1
Этот вопрос похож на мой.Я использую версию сортировки, хотя я не уверен, почему я получаю другой результат.Я попытался использовать [System.Version] в случае, если [версия] не была достаточно конкретной.