cześć Olaf,
Nie, uruchomiłem ten test kilka razy, ale może nie wyjaśniłem go poprawnie, gdy powiedziałem wersję 10, to jest tylko wersja główna, pominąłem minor / build/revision.
mam pamięć czytania artykułu wyjaśniającego jak Wersja Win32_OperatingSystem zwraca podstawową wersję NT, a nie rzeczywisty system operacyjny, ale nie udało mi się ponownie znaleźć artykułu.
Serwer 1 – 2016
PS C:\Users\Administrator>:: osversion.Wersja
Major Minor Build Revision
— — — —
10 0 14393 0
Serwer 2-2019
PS C:\Users\Administrator > (get-Ciminstance Win32_OperatingSystem).wersja
10.0.17763
PS C:\Users\Administrator > (get-Ciminstance Win32_OperatingSystem).podpis
Microsoft Windows Server 2019 Standard
PS C:\Users\Administrator>:: osversion.Wersja
Major Minor Build Revision
— — — —
10 0 17763 0
dla odniesienia, z moich notatek poprzednia wersja systemu windows To:
2012R2 – 6.3
2012r1 – 6.2
2008R2 – 6.1
2008r1 – 6.0
ze względu na poprzednie zmiany w wersji Major/Minor z każdym wydaniem, które Czy cały nasz kod jest skonstruowany do obsługi, jako taki, gdy trafimy w 2019, który ma ten sam Major/Minor co 2016, kod nie odróżnia się.
pomyślałem, że to idealny czas, aby spróbować zidentyfikować czystsze, bardziej ogólne rozwiązanie, mówię ogólne, ponieważ nie mam pojęcia, w jaki sposób i kiedy te numery wersji, w szczególności kompilacja/rewizja się zmieni, lub kiedy. Nie chce znaleĹşÄ ‡ aktualizacji, ktĂłra zmienia te numery, Ĺ ’ amujÄ … c w ten sposĂłb kod na nowo.
najlepsze, co wymyśliłem, to wyodrębnienie wersji systemu operacyjnego z podpisu.